夏令时于11月4日至5日在美国东部标准时间

时间:2018-11-05 21:07:19

标签: ios swift ipad

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

我正在使用的代码

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

enter image description here

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

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

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

1 个答案:

答案 0 :(得分:1)

在该时段的夏令时发生更改的任何时区(例如美国),UTC 2018-11-04 00:00:00与2018-11-05 00:00:00之间的时差UTC仅23小时,不到1天,因此您可以得到0天的时间。

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

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