Iphone NSDateFormatter给出了错误的时间(+;8小时)

Iphone NSDateFormatter给出了错误的时间(+;8小时),iphone,nsdateformatter,Iphone,Nsdateformatter,我不明白为什么我得到的是早上8点而不是8点。如果我将其设置为其他时间,也会发生这种情况 好的,我现在尝试在标签中显示 [dateFormatter stringFromDate:dateTest]; 它以一种奇异的方式呈现了我格式化的时间。。。但是如果我在断点上检查NSDate对象,那么它会显示08:00:00,而不是00:00:00 日期格式字符串错误。应该是 "yyyy-MM-dd-HH-mm-ss" 看 主要问题是 DD是一年中的一天,而不是一个月中的一天。因此07将覆盖之前设置的

我不明白为什么我得到的是早上8点而不是8点。如果我将其设置为其他时间,也会发生这种情况

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

[dateFormatter stringFromDate:dateTest];

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

日期格式字符串错误。应该是

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

主要问题是

  • DD
    是一年中的一天,而不是一个月中的一天。因此07将覆盖之前设置的月份“11月”
  • hh
    只能识别[1,12]范围内的数字,0超出范围

    • 我猜你住在美国,在指定日期(可能是太平洋标准时间?)使用GMT-8时区。所以日期已经正确解析了,因为上面说是格林尼治标准时间。

      我不住在美国,但我有一台美国的mac电脑,它仍然使用美国时钟。但是,看看我在我的问题中添加了什么,你能解释一下吗?这是因为它在机器时区中显示日期。我在机器上更改了时区,现在它真正显示了gour+-时区。我感到困惑的原因是时间00:00:00:它显示为8:00:00,而美国是GMT-8而不是+8。谢谢。@Gal:
      date1
      真的已经初始化了吗?仅当控件到达
      NSDate*date2=…
      处的行时,才尝试检查该值。。。我是一个有经验的程序员,我知道如何调试代码。谢谢:)