本地化的 NSDateFormatter
Localized 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 PM 更改为 11:22 +0000 或 11:11 AM进入 23:11
您的日期格式为 24 小时(大写 H),只需将其更改为使用 12 小时(小写 h)即可:
[dateFormatter setDateFormat:@"MMM dd, yyyy hh:mm:ss a"]
您可以找到日期格式模式here
在其他人回答的一些问题的帮助下,我设法让我的 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 PM 更改为 11:22 +0000 或 11:11 AM进入 23:11
您的日期格式为 24 小时(大写 H),只需将其更改为使用 12 小时(小写 h)即可:
[dateFormatter setDateFormat:@"MMM dd, yyyy hh:mm:ss a"]
您可以找到日期格式模式here