ios - NSDateFormatter results different from apple.cn screenshots -



ios - NSDateFormatter results different from apple.cn screenshots -

the iphones @ http://apple.com/iphone have 9:41 am in status bar esoteric reasons. i'm trying create localized screenshots app, consulted http://apple.com/cn/iphone, utilize 上午9:41 consistently. however, when set locale zh-hans or zh-hant using -applelanguages flag, nsdateformatter spits out 9:41 上午. here code i’m using:

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];

this code produces right format in en_us, wrong 1 in zh-hant. there way localized version of @"h:mm a", other hardcoding each language?

don't set dateformat, set timestyle access appropriate built-in format. nsdateformattermediumstyle looks right me. there's datestyle should want it.

so, sample code:

nsdateformatter *newformatter = [nsdateformatter new]; newformatter.locale = [nslocale localewithlocaleidentifier:@"zh-hant"]; newformatter.timestyle = nsdateformattermediumstyle; nslog(@"%@", [newformatter stringfromdate:[nsdate date]]);

output:

上午12:10:40

ios objective-c localization nsdateformatter

Comments

Popular posts from this blog

Delphi change the assembly code of a running process -

json - Hibernate and Jackson (java.lang.IllegalStateException: Cannot call sendError() after the response has been committed) -

C++ 11 "class" keyword -