У Ihones at http://apple.com/iphone есть 9:41 AM
в строке состояния для esoteric reasons. Я пытаюсь сделать локализованные скриншоты для своего приложения, поэтому я обратился к http://apple.com/cn/iphone, где они последовательно используют 上午9:41
. Однако, когда я установил свой локаль в zh-Hans
или zh-Hant
с использованием флага -AppleLanguages
, NSDateFormatter
выплевывает 9:41 上午
. Вот код, я использую:NSDateFormatter результаты отличаются от apple.cn скриншоты
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSString *originalLocale = dateFormatter.locale;
dateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US"];
[dateFormatter setDateFormat:@"h:mm a"];
NSDate *date = [dateFormatter dateFromString:@"9:41 AM"];
dateFormatter.locale = originalLocale;
NSString *dateString = [dateFormatter stringFromDate:date];
Этот код дает правильный формат в en_US
, но неправильно один в zh-Hant
. Есть ли способ получить локализованную версию @"h:mm a"
, отличную от жесткого кодирования для каждого языка?
'NSDateFormatterShortStyle' сделал это для меня,' timeStyle' это часть мне не хватало. Благодаря! –