【问题标题】:Catalyst datePicker shows system time instead of utc time (the datePicker timezone has been set to UTC)Catalyst datePicker 显示系统时间而不是 utc 时间(datePicker 时区已设置为 UTC)
【发布时间】:2023-04-02 04:15:01
【问题描述】:

我在使用 Catalyst 的项目中遇到了 datePicker 问题。

我这样配置它:timePicker.timeZone = TimeZone(secondsFromGMT: 0) 以显示 UTC 时间。

在 iOS 上它运行正常,但在 Catalyst 上它显示的是系统时区。返回的日期与 UTC 时间一样正确,但未显示。

有人知道如何解决这个问题吗?

谢谢!

【问题讨论】:

    标签: swift datepicker mac-catalyst


    【解决方案1】:

    这是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
    

    并且不要忘记在使用之前将日期转换回您的时区。

    【讨论】:

      猜你喜欢
      • 2016-06-01
      • 2015-04-28
      • 2013-04-29
      • 1970-01-01
      • 2019-03-05
      • 1970-01-01
      • 2019-09-20
      • 2014-06-03
      • 2017-12-07
      相关资源
      最近更新 更多