Как отформатировать NSDate? - PullRequest
4 голосов
/ 27 февраля 2011

Как я могу получить NSDate для отображения в формате, например, т. Е. Вторник 26 февраля 2011 г.

Ответы [ 2 ]

33 голосов
/ 27 февраля 2011

Сделай это правильно. Не задавайте жестко свои форматы даты. Есть страны, которые не являются вашей страной, и они могут иметь разные форматы даты. Поэтому, если вы хотите показать эту дату пользователю, вы должны использовать метод, который учитывает языковой стандарт пользователя.

Вы можете использовать метод dateFormatFromTemplate:options:locale:, представленный в iOS4, чтобы получить соответствующий формат со всей необходимой информацией.
И если вам нужно поддерживать iOS <4, вы должны создать список с этим методом шаблона, чтобы создать правильный формат даты для локали пользователя. </p>

NSLocale *locale = [NSLocale currentLocale];
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; 
NSString *dateFormat = [NSDateFormatter dateFormatFromTemplate:@"E MMM d yyyy" options:0 locale:locale];
[formatter setDateFormat:dateFormat];
[formatter setLocale:locale];
NSLog(@"Formatted date: %@", [formatter stringFromDate:myDate]);

дает So., 27. Feb 2011 для моей локали.
и Sun, Feb 27, 2011 для локали en_US

2 голосов
/ 27 февраля 2011
NSDateFormatter *gmtFormatter = [[NSDateFormatter alloc] init];  
[gmtFormatter setDateFormat:@"E MMM d yyyy"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...