视通话时间而定,迅速显示夏令时以外日期的错误时间

问题描述

我目前与夏时制有关的以下问题。

用户使用用户界面创建特定日期和时间的条目。 例如::在20.10(即DST,这是她使用应用的时间)上,她为28.10 11:00(在DST外部)创建了一个条目

我们创建一个像这样的日期对象,格式是用户界面中使用的格式:

let dateFormatter = DateFormatter.getFormatter()
dateFormatter.dateFormat = "MMMM d,yyyy HH:mm"
self.startDate = dateFormatter.date(from: label.text!)!

没有进一步的处理,日期对象被本地保存在域中。 打印对象显示2020-10-28 09:00:00 +0000,这是正确的,因为我们处于CET(夏季为GMT +2)。

只要设备的日期早于25.10(在DST中是如此),日期就可以在整个应用中正确显示

现在,在DST(以25.10开头)之后,该应用程序错误显示28.10 10:00。 现在是冬季,格林尼治标准时间+1

看来swift错误地在调用DST的时间上使用了DST设置,而不是在转换的实际日期时间上。

我在做什么错?只要时区相同,我们使用的其他任何技术都会正确显示时间。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)