2014-04-06 46 views
-1

我有NSDateFormatter用于显示时间为h:mm以显示时间为7:50 PM例如。NSDateFormatter基于iPhone的时间设置

它正常工作与时间的手机显示为5:55 PM等,但也有在不同的国家有时间显示手机状态栏上为下午5点55分,并与设置NSDateTimeFormatterh:mm似乎回到(空)。

有没有人遇到类似的情况?任何解决方法或处理这些情况的最佳方法?正在考虑检查零,然后重试NSDateFormatterhh:mm但这听起来很丑。想要确保我做对了。

您的快速响应非常感谢。

回答

0

我终于通过使用“en_US_POSIX”语言环境转换每个日期和时间来完成这项工作。我知道,这不是我想要的,但它适用于不同的地区和时间格式。我仍然需要弄清楚如何纯粹基于用户的地区和时间格式来表达这些日期和时间。也许,再过一天。

0
[dateFormatter setTimeStyle:NSDateFormatterShortStyle]; 

NSLog(@"%@", [dateFormatter stringFromDate:[NSDate date]]); 

对于语言德语和区域格式德国,它记录01:46,而英国和美国,它记录1:46 AM。我检查了一下:在中午之后,它会正确打印13:521:52 PM

+0

我看到了,你觉得[NSLocale currentLocale]会自动替换我的格式吗?我不想硬编码某种格式(我已经烧毁了桥;-)如果你知道我的意思。 –

+0

我不这么认为 - 我知道。 – vikingosegundo

+0

这也很难测试。你知道如何将时间设置为hh:mm(例如05:55 PM)在我们的状态栏上,以便我可以测试并尝试重现问题吗? –