【发布时间】:2021-10-27 08:06:14
【问题描述】:
我正在尝试在我的测试应用中实现一个简单的倒数计时器。
我有两个约会:
-
fromDate- 这是我通过 Date() 得到的当前时间,例如2021-08-27 11:07:34 +0000 -
toDate- 是未来的日期,例如2021-11-17 01:00:00 +0000
我正在使用DateComponents 来取回天、小时、分钟和秒的差异。
let components = Calendar.current.dateComponents([.day, .hour, .minute, .second],
from: fromDate,
to: toDate)
它让我返回天时分秒 81、12、52、25 的值
天、分和秒的值是正确的,但小时少了 1 小时。
我怀疑白天时间与此有关,但我在这里找不到任何可以帮助的东西。
请帮助我做错了什么,因为我在过去几天尝试了很多事情,但似乎没有任何效果
【问题讨论】:
-
夏令时不应该与此有关吗?
-
你在哪里?我的意思是你的语言环境是什么?你在夏天/冬天“改变时间”吗?您能否检查这两个日期之间是否有一个(快速的 Google 搜索应该会给您答案)。是这样吗?
-
是的,夏令时对我有影响。但在这种情况下,这是否意味着小时数应该是 13 而不是 12?
-
两个日期都是 UTC(仅供参考)
-
不,它们不是,它们只是使用该时区打印的。 Date 对象不包含任何时区。