2012-10-02 22 views
0

我正在使用IOS 6和IOS 5.我在一小时的时间内获得了差异。而我使用的日期格式为@"MMM d, yyyy HH:mm aaa"。我也试过@"MMM d, yyyy h:mm aaa"有时在NSDate中获得一小时的差异

其实,我正在为当前本地设置通知的固定时间。时间固定为上午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"

请推荐。

+0

夏令时?过去我一直这样做,但不记得我做了什么来解决它。 –

回答

2

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

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

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

我正在使用[NSTimeZone localTimeZone]。 – Arvind