Дата отображения iPhone с использованием пользовательского языка, но на другом языке
-
26-09-2019 - |
Вопрос
Есть ли какие-либо решения для отображения пользователю дату, используя настройки локали, но слова, которые будут на другом языке?
То, что я хочу, чтобы отобразить пользователю, которое настроит en_us. Дата на немецком языке (имена месяцев, например, будни).
Решение
Хороший вопрос. Можно, если вы сначала создаете NSDateFormatter
С локалом пользователя (по умолчанию) установите свой стиль, затем сохраните текущий формат даты. После этого установите локаль на язык, который вы хотите отобразить и сбросить формат даты:
NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];
[df setDateStyle:NSDateFormatterFullStyle];
NSString *usersDateFormat = [df dateFormat];
[df setLocale:[[[NSLocale alloc] initWithLocaleIdentifier(@"de_DE")] autorelease]];
[df setDateFormat:usersDateFormat];
NSString *dateString = [df stringFromDate:[NSDate date]];
Другие советы
Справка класса IOS для NSDateFormatter имеет пример код для этого:
Это в разделе Обзор.
В принципе, вы вручную устанавливаете локаль и форматированные форматы данной даты этой локалью.
Не связан с StackOverflow