NSDateFormatter 给出了错误的小时(+8 小时)
我不明白为什么我得到的是 8:00AM 而不是 00。如果我将其设置为其他时间,也会发生这种情况。
好的,我现在尝试在标签中显示 的值
[dateFormatter stringFromDate:dateTest];
,并以一种奇怪的方式显示我格式化的时间...但是如果我在断点上检查 NSDate 对象,那么它会显示 08:00:00 而不是 00:00:00;
I don't undersatnd why I get 8:00AM instead of 00. This also happens if I set it to other hours.
Ok, I now tryed to present in a label the value of
[dateFormatter stringFromDate:dateTest];
And in a wierd way it presented the time I formatted... But if I check the NSDate object on a breakpoint then it says 08:00:00 and not 00:00:00;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我最好的猜测是您居住在美国,在指定日期使用 GMT -8 时区(也许是太平洋标准时间?)。所以日期已经被正确解析,因为它说它是 GMT。
My best guess that you live in the States, which uses GMT -8 time zone at the date specified (maybe PST?). So the date has been parse correctly already, because it said it was GMT.
日期格式字符串错误。应该参见
http://unicode.org/reports/tr35/tr35-4 .html#Date_Format_Patterns。
主要问题是
DD
是一年中的某一天,而不是一月中的某一天。因此 07 将覆盖之前设置的月份“11 月”。hh
只能识别 [1, 12] 范围内的数字,其中 0 超出范围。The dateFormat string is wrong. It should be
See http://unicode.org/reports/tr35/tr35-4.html#Date_Format_Patterns.
The main problems are
DD
is the day of year, not day of month. So 07 will override the month "November" set previously.hh
can only recognize numbers in the range [1, 12], which 0 is out of range.