为什么我的NSDate对象中有不同的时区?

时间:2010-04-02 15:52:02

标签: iphone date nsdate

使用NSDate时,有时时区不同。但我根本不会使用区域设置或时区设置。

即。有时(在同一个过程中)NSDate对象可能看起来像

1.4.2010 22:01:47 +0100

有时候喜欢

1.4.2010 22:01:47 +0200

没有我做任何事情。触发时区变化的原因是什么?我认为日历计算(即添加5个月的日期)不应该这样做,对吗?

1 个答案:

答案 0 :(得分:3)

正在调整夏令时。在我的机器上:

NSDate *now=[NSDate date];
NSDate *notNow=[now dateByAddingTimeInterval:(86400 * 250)]; // add 250 days
NSLog(@"%@", now);
NSLog(@"%@", notNow);

输出

2010-04-02 17:03:25.386 so[14786:a0f] 2010-04-02 17:03:25 +0100
2010-04-02 17:03:25.388 so[14786:a0f] 2010-12-08 16:03:25 +0000

这只是在[date description]的(隐藏)调用中发生的显示格式化事件。