【问题标题】:Daylight saving issue Nov 04 - 05 in EST location美国东部标准时间 11 月 4 日至 5 日的夏令时问题
【发布时间】:2018-11-05 21:07:18
【问题描述】:

今天的日期差异为零。在比较 11 月 4 日和 11 月 5 日时,仅在今天发生的罕见问题。

我正在使用的代码

let dayDiff = Calendar.current.dateComponents([.day], from:businessDate , to: today).day!

Ipad 日期和时间设置为自动。 尝试重新启动 iPad。 尝试将日期设置为明天,我得到日期差异 1。

昨天夏令时的变化是否有任何问题? 如果是这样,我必须更新哪些设置才能按预期工作?

注意:我们可以通过更改代码来解决此问题,但想知道任何 iPad 设置都可以解决此问题。

【问题讨论】:

    标签: ios swift ipad


    【解决方案1】:

    在该期间夏令时发生变化的任何时区(例如美国),2018-11-04 00:00:00 UTC 和 2018-11-05 00:00:00 之间的差异UTC 只有 23 小时,不到 1 天,因此相差 0 天。

    如果您使用当地时间午夜而不是 UTC 时间创建这些日期,您将获得 1 天差异的预期结果。

    或者如果您使用设置为 UTC 时区的日历来计算差异,您将获得 1 天的差异。

    【讨论】:

      猜你喜欢
      • 2012-07-12
      • 1970-01-01
      • 2014-05-07
      • 2018-09-07
      • 1970-01-01
      • 1970-01-01
      • 2022-06-29
      • 2018-05-06
      • 2016-08-31
      相关资源
      最近更新 更多