NSDate没有返回正确的date

我打印这样的NSDate:

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

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

这显然是错误的。 我已经使用了NSDate数百万次,但从来没有这个问题。 什么可能是错的? 谢谢

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

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

它会告诉你正确的date。

你在GMT -4时区吗? 2011-07-02 03:43:46 +00002011-07-01 11:43:46 -4000 。如果是这样的话,它给你的结果是正确的。