Вопрос по cocoa – Какао - Локализованная строка из NSDate, NSCalendarDate

3

Я использую NSDate, чтобы получить строку, такую как «18 июня 09», с кодом:

<code>NSDate *theDate = [NSDate date];
NSString *dateString = [theDate descriptionWithCalendarFormat:@"%d %b %y"
        timeZone:nil
        locale: nil];
</code>

Это работает, но только приводит к выводу на английский. Мне нужно, чтобы вывод был локализован на языке пользователя по умолчанию.

Предоставляет ли Какао (Mac OS X 10.4, 10.5 в данном случае) средство для этой локализации или мне приходится вручную локализовать для каждого случая дня и & amp; месяц называет себя?

(Я предоставил локаль, но, хотя она и обеспечивает упорядочение даты для конкретной локали, похоже, она не локализует названия дней и месяцев.)

Ваш Ответ

2   ответа
3

[dateFormatter setLocale:usLocale];
22

фрагмент от Apple:

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];

[dateFormatter setDateStyle:NSDateFormatterMediumStyle];

[dateFormatter setTimeStyle:NSDateFormatterNoStyle];

NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:118800];

NSString *formattedDateString = [dateFormatter stringFromDate:date];

NSLog(@"formattedDateString for locale %@: %@", [[dateFormatter locale] localeIdentifier], formattedDateString);
Согласно документации Apple, NSDateFormatterMediumStyle ДОЛЖЕН выводить что-то вроде «19 июня 2009 года». вместо 19.06.09. SirRatty
Argh. В комментариях нет разрывов строк? SirRatty
Error: User Rate Limit Exceeded SirRatty

Похожие вопросы