NSDate没有返回正确的日期

时间:2011-07-02 03:52:10

标签: iphone objective-c ios cocoa-touch nsdate

我正在打印NSDate:

NSDate *date = [NSDate date];
NSString *stringDate = [data description];

现在,它是2011年7月1日晚上11:43。我的iPod甚至在顶栏上说。但stringDate打印出来:2011-07-02 03:43:46 +0000

这显然是错误的。我已经使用了数百万次NSDate但从未遇到过这个问题。可能有什么不对? 感谢

2 个答案:

答案 0 :(得分:4)

您所在地区的时间偏差 -04:00 ?显示日期时,NSDate将自动调整时间偏移。尝试,

NSString *str = [date descriptionWithLocale:[NSLocale currentLocale]];

它会显示正确的日期。

答案 1 :(得分:3)

您是否在GMT -4时区?在这种情况下,它给你的结果是正确的,因为2011-07-02 03:43:46 +00002011-07-01 11:43:46 -4000