Catalyst datePicker 显示系统时间而不是 utc 时间(datePicker 时区已设置为 UTC)
Catalyst datePicker shows system time instead of utc time (the datePicker timezone has been set to UTC)
我在使用 Catalyst 的项目中遇到了 datePicker 问题。
我这样配置:timePicker.timeZone = TimeZone(secondsFromGMT: 0)
为了显示 UTC 时间。
在 iOS 上它表现正确,但在 Catalyst 上它显示系统时区。返回的日期作为 UTC 时间正确运行,但未显示。
有人知道如何解决这个问题吗?
谢谢!
这是 DatePicker
的 Mac Catalyst 实现的错误。您可以使用此解决方法通过将 DatePicker.date
设置为偏移时间来显示 GMT 时间:
let date = Date()
let diffSeconds = -TimeZone.current.secondsFromGMT(for: date)
let gmtDate = date.addingTimeInterval(TimeInterval(diffSeconds))
datePicker.date = gmtDate
并且不要忘记在使用前将日期转换回您所在的时区。
我在使用 Catalyst 的项目中遇到了 datePicker 问题。
我这样配置:timePicker.timeZone = TimeZone(secondsFromGMT: 0)
为了显示 UTC 时间。
在 iOS 上它表现正确,但在 Catalyst 上它显示系统时区。返回的日期作为 UTC 时间正确运行,但未显示。
有人知道如何解决这个问题吗?
谢谢!
这是 DatePicker
的 Mac Catalyst 实现的错误。您可以使用此解决方法通过将 DatePicker.date
设置为偏移时间来显示 GMT 时间:
let date = Date()
let diffSeconds = -TimeZone.current.secondsFromGMT(for: date)
let gmtDate = date.addingTimeInterval(TimeInterval(diffSeconds))
datePicker.date = gmtDate
并且不要忘记在使用前将日期转换回您所在的时区。