给出错误的小时(+8小时)的NSDateFormatter

时间:2010-11-07 11:37:48

标签: iphone nsdateformatter

我不会理解为什么我上午8:00而不是00.如果我把它设置为其他时间,也会发生这种情况。

alt text

好的,我现在尝试在标签中显示

的值
[dateFormatter stringFromDate:dateTest];

以一种奇怪的方式它呈现了我格式化的时间......但是如果我在断点上检查NSDate对象,那么它表示08:00:00而不是00:00:00;

2 个答案:

答案 0 :(得分:2)

我最好猜测你居住在美国,它们在指定日期使用GMT-8时区(可能是PST?)。所以日期已经正确解析,因为它说它是GMT。

答案 1 :(得分:1)

dateFormat字符串错误。它应该是

"yyyy-MM-dd-HH-mm-ss"

http://unicode.org/reports/tr35/tr35-4.html#Date_Format_Patterns

主要问题是

  • DD是一年中的某一天,而不是一个月中的某一天。所以07将覆盖先前设定的“十一月”月份。
  • hh只能识别[1,12]范围内的数字,其中0超出范围。