美国东部时间 11 月 4 日至 5 日的夏令时问题

Daylight saving issue Nov 04 - 05 in EST location

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

我正在使用的代码

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

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

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

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

在夏令时发生变化的任何时区(例如美国),2018-11-04 00:00:00 UTC 和 2018-11-05 00:00:00 UTC 只有 23 小时,不到 1 天,所以你得到 0 天的差异。

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

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