【问题标题】:Understanding NSDate difference between hours了解 NSDate 小时之间的差异
【发布时间】:2015-07-14 17:10:44
【问题描述】:

如果我现在检查我得到的日期(晚上 20:05)

2015-07-14 17:05:41 +0000

那么 3 小时的差异去哪里了?我想这是一个区域的事情。

我的基本问题是,如果我在这个日期设置警报通知时他会添加相同的时间,我可以这样吗?

例如,如果我实时设置闹钟 - 20:05 ,对于显示 17:05 的日期,它会在一天中的同一时间 - 表示 20:05 吗?还是那样工作有错?

【问题讨论】:

标签: ios nsdate


【解决方案1】:

每年有两次人们抱怨在夏令时开始或结束时闹钟在错误的时间响起。

NSDate 以 UTC 记录日期,这与 GMT 几乎但不完全相同,GMT 是格林威治标准时间(英国夏令时)。如果我们现在都看我们的手表,我们会看到不同的时间,但 NSDate 会在全世界报告相同的时间。

如果有人想为明天 20:05 设置闹钟,那么您需要 NSCalendar 中的功能来找出要设置的 NSDate。在一年中的 363 天中,明天的 20:05 正好是今天 20:05 之后的 24 小时或 86,400 秒。在一年中的两天,它不是。

当然,如果我设置明天 20:05 的闹钟,然后从伦敦飞往纽约,您只能猜测我想要在伦敦时间 20:05 还是纽约时间设置闹钟。

【讨论】:

    猜你喜欢
    • 2012-05-05
    • 2012-12-11
    • 1970-01-01
    • 2013-12-29
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    相关资源
    最近更新 更多