Форматирование даты - строка для даты 2012-02-05T00: 00: 00 + 00: 00 - PullRequest
0 голосов
/ 06 марта 2012

Я пытаюсь преобразовать эту строку «2012-02-05T00: 00: 00 + 00: 00» в более привлекательную, красиво отформатированную строку, например «вторник, 5 марта 2012 г.»

У меня есть пример, с которого я работаю:

NSString *dateStr = @"20081122";

// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyyMMdd"];
NSDate *date = [dateFormat dateFromString:dateStr];  

// Convert date object to desired output format
[dateFormat setDateFormat:@"EEEE MMMM d, YYYY"];
dateStr = [dateFormat stringFromDate:date];
NSLog(@"date: %@", dateStr);
[dateFormat release];

Как бы я приспособился для формата даты "2012-02-05T00: 00: 00 + 00: 00", используя аналогичный код выше?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 06 марта 2012

Вы можете сделать с помощью -

[dateFormat setDateFormat:@"yyyy-MM-ddThh:mm:ss z"];
1 голос
/ 06 марта 2012

Когда я вижу ваше время «2012-02-05T00: 00: 00 + 00: 00», я думаю, что вы печатаете «NSDate» в вашей консоли.В это время «2012-02-05» - это дата, а «T00: 00: 00 + 00: 00» - это время.Поэтому, когда вам нужно использовать дату, подобную этой,

NSString *dateStr = @"2012-02-05";

, вы должны отформатировать ее следующим образом:

[dateFormat setDateFormat:@"yyyy-MM-dd"];

Если вы хотите преобразовать компонент даты в понравившийся вам, попробуйте это

NSString *dateStr = @"2012-02-05";

// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormat dateFromString:dateStr];  

// Convert date object to desired output format
[dateFormat setDateFormat:@"EEEE MMMM d, YYYY"];
dateStr = [dateFormat stringFromDate:date];  
NSLog(@"%@",dateStr);

Вы даже можете сделать это, чтобы конвертировать текущую дату в любое удобное для вас время.

// Convert date object to desired output format
[dateFormat setDateFormat:@"EEEE MMMM d, YYYY"];
dateStr = [dateFormat stringFromDate:[NSDate date]]; //for current date  
NSLog(@"%@",dateStr);
...