本地化的NSDateFormatter

时间:2015-05-03 18:16:46

标签: ios objective-c nsdateformatter

在其他人的回答问题的帮助下,我设法让我的NSDateFormatter使用不同语言环境中的字符串。目前我的代码如下:

dateFormatter = [[NSDateFormatter alloc] init];
                [dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]];
                [dateFormatter setDateFormat:@"MMM dd, yyyy HH:mm:ss a"];
//myDate = [[NSDate alloc] init]; --- unnecesary as marked by @rmaddy
myDate = [dateFormatter dateFromString:dateString];
NSLog(@"%@ ==== %@",dateString, myDate);

在控制台中给我以下结果:

Nov 11, 2011 11:11:00 AM ==== 2011-11-10 23:11:00 +0000
Feb 22, 2222 10:22:00 PM ==== 2222-02-22 11:22:00 +0000
Dec 12, 2012 12:12:00 PM ==== 2012-12-12 11:12:00 +0000
Dec 22, 2012 10:22:00 PM ==== 2012-12-22 11:22:00 +0000

希望我只是忽略了一些简单的事情,但我无法看到我错在哪里以及为什么它会在晚上10点22分变为11:22 +0000或11:11 AM到23 :11

1 个答案:

答案 0 :(得分:1)

您的日期格式为24小时(大写H),只需将其更改为使用12小时(小写h):

{{1}}

您可以找到日期格式图案Non-angular page opened after a click