有时在NSDate中获得一小时的差异

时间:2012-10-02 11:35:05

标签: iphone ios timezone nsdate ios6

我正在使用IOS 6和IOS 5.我在一小时的时间里有所不同。我使用日期格式为@"MMM d, yyyy HH:mm aaa"。我也试过@"MMM d, yyyy h:mm aaa"

实际上,我正在设置当前本地通知的固定时间。对于不同日期,时间固定为上午10:00。它正在控制台中正确显示日期,但时间正在变化,澳大利亚时区显示"2012-10-02 14:00:00 +0000 or 2012-10-02 13:00:00 +0000"

当我将日期格式更改为@"MMM d, yyyy h:mm aaa"时,它显示"2012-10-02 00:00:00 +0000 or 2012-10-02 23:00:00 +0000"

请建议。

1 个答案:

答案 0 :(得分:2)

使用日期格式化程序时,您应指定日历和时区,以正确的格式返回日期。

我发现添加以下两行有助于缓解此问题。 (你看我在那里做了什么?)

[formatter setCalendar:[NSCalendar currentCalendar]];
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];