Переформатировать NSString, представляющий дату - PullRequest
5 голосов
/ 20 марта 2011

Как мне преобразовать @ "20090302" в @ "2009/03/02" или в @ "02/03/2009"?

Я нашел решение, и это обновление

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YYYYMMDD"];



NSDate *date = [formatter dateFromString:yourinoutstring];


[formatter setDateFormat:@"DD/MM/YYYY"];

NSString *outDate = [formatter stringFromDate:date];

1 Ответ

7 голосов
/ 20 марта 2011

Для этой цели вы захотите использовать NSDateFormatter .

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YourDateInputFormat"];

Где можно узнать, что @"YourDateInputFormat" должно быть, прочитав Руководство по форматированию данных, Раздел форматирования даты .Вы получите NSDate от этого:

NSDate *date = [formatter dateFromString:yourString];

Затем измените формат форматирования, чтобы получить желаемый результат:

[formatter setDateFormat:@"YourDateOutputFormat];

Затем вы можете преобразовать эту дату и получить строку, которую выхочу:

NSString *outString = [formatter stringFromDate:date];
...