iOS: отображать время в 24-часовом формате, если локаль подходит? - PullRequest
5 голосов
/ 23 ноября 2011

В моем приложении для iOS будет отображаться текущее время. Как определить, предпочитает ли язык пользователя 12-часовое или 24-часовое форматирование времени?

Ответы [ 2 ]

1 голос
/ 23 ноября 2011

См. Класс NSDateFormatter http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/Reference/Reference.html

Что-то вроде:

NSDate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateStyle:NSDateFormatterNoStyle];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
[dateFormatter setLocale:[NSLocale currentLocale]];

NSString *dateString = [dateFormatter stringFromDate:date];
0 голосов
/ 23 ноября 2011

Обычно при отображении данных пользователю не нужно выяснять, каковы настройки языка пользователя. Если вы используете соответствующий NSFormatter (NSNumberFormatter для чисел и NSDateFormatter для даты и времени, который в данном случае является подходящим для вас), то вы автоматически получите вывод, соответствующий локали пользователя. то есть то, что Apple называет « локализованным представлением объекта »

...