当时间为24小时格式时,来自NSString的NSDate

时间:2011-01-27 04:25:32

标签: iphone nsstring nsdate nsdateformatter

我有一个格式的字符串2011年1月25日凌晨3:17。我需要将其转换为NSDate。 我使用格式为@“MMM d,yyyy h:mm a”的NSDateFormatter。如果iphone时间为12小时格式,则效果很好,但如果时间为24小时格式,则返回nil。任何人都可以帮我这个????

2 个答案:

答案 0 :(得分:7)

Capital H用于24小时格式。不要24小时通常排除AM / PM部分吗?如果是这样,您的格式字符串应为:@"MMM d yyyy H:mm"

Here's a reference for Unicode date format strings.

答案 1 :(得分:2)

这是NSDateFormatter中的一个错误。您可以通过在日期格式化程序上手动设置区域设置来解决此问题:

[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"] autorelease]];