gpt4 book ai didi

swift - 如何确定给定(本地)日期的时区

转载 作者:行者123 更新时间:2023-11-30 10:41:56 31 4
gpt4 key购买 nike

从 API 中我得到以下两个日期字符串。这些日期显示位于某个时区的气象站的天气观测时间。

日期UTC =“2019-06-14T18:00:00Z”日期本地=“2019-06-14 20:00:00”

如何确定气象站所在的时区?(不是用户的时区!)

我尝试使用 DateFormatter,但不幸的是本地日期立即转换为 GMT - 然后它与 UTC 日期相同。

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let dateUTC = dateFormatter.date(from: current.currentObservation[0].timeUTC)!
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateLocal = dateFormatter.date(from: current.currentObservation[0].timeLocal)!

我想查看上述日期的结果:时区 = GMT+2

最佳答案

答案很简单 - 但我还是好几个小时都没有看到它。诀窍是为 DateFormatter 设置时区。

            let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let dateUTC = dateFormatter.date(from: current.currentObservation[0].timeUTC)!
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
let dateLocal = dateFormatter.date(from: current.currentObservation[0].timeLocal)!

let difference = Calendar.current.dateComponents([.second], from: dateUTC, to: dateLocal).second!

关于swift - 如何确定给定(本地)日期的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56601757/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com