【问题标题】:Why do I get different time zones in my NSDate objects?为什么我的 NSDate 对象中有不同的时区?
【发布时间】:2010-04-02 15:52:01
【问题描述】:

在使用 NSDate 时,有时时区会有所不同。但我根本不会搞乱语言环境或时区设置。

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

1.4.2010 22:01:47 +0100

有时也喜欢

1.4.2010 22:01:47 +0200

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

【问题讨论】:

    标签: iphone date nsdate


    【解决方案1】:

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

    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] 时发生的显示格式设置。

    【讨论】:

    • 有趣。在夏令时方面,我从来没有考虑过改变时区。很高兴知道。
    猜你喜欢
    • 2014-04-01
    • 2023-03-16
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多