Преобразовать `NSDate` в` NSString`, например, @ "11:22 am"? - PullRequest
1 голос
/ 09 ноября 2011

Как мне преобразовать время NSDate в NSString, например, @"11:22am"?Как мне поддерживать все локали?

Ответы [ 2 ]

4 голосов
/ 09 ноября 2011

Вам необходимо использовать NSDateFormatter, предпочтительно с использованием одной из NSDateFormatterStyle констант, значение которых будет различным в зависимости от локали пользователя (например, США / Великобритания / Австралия имеют разные форматы коротких дат).

NSDateFormatter *timeFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateStyle:NSDateFormatterNoStyle];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];

NSString *timeString = [timeFormatter stringFromDate:date];
2 голосов
/ 09 ноября 2011

Используйте для этого NSDateFormatter:

NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];//HH:mm

NSString *strDate = [formatter stringFromDate:myDate];
...