【问题标题】:Wrong NTP date response Swift 4错误的 NTP 日期响应 Swift 4
【发布时间】:2019-06-26 14:06:57
【问题描述】:

我正在使用Kronos 从 NTP 服务器获取日期,问题是返回的日期是错误的。

示例: 我国时间是2019-2-2 20:22:05 +0000 但我得到的是 2019-2-2 22:22:05 +0000

我认为这是关于时区的,但我无法到达它

谢谢。

【问题讨论】:

  • 你能显示一些代码吗?我使用 Kronos 中的单元测试进行了检查,它返回了正确的 UTC 时间。
  • 我没有做匹配我只是用这段代码来测试它之前:`Clock.sync { date, offset in print(date) }`
  • 您距离世界标准时间 -2 小时吗?您确定当地时间不是 019-2-2 20:22:05 -0200 吗?该框架对我有用。您应该编辑您的问题以显示测试的输出。即print (date) 后跟print(Date()) - 假设您设备的本地时间是准确的。你得到什么输出?

标签: ios swift date time ntp


【解决方案1】:

我写了一些代码来使它正确

Clock.sync { date, offset in
        let dateFormatter = DateFormatter()
        dateFormatter.calendar = NSCalendar.current
        dateFormatter.timeZone = TimeZone.current
        dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"

        let dt = dateFormatter.string(from: date!)
        dateFormatter.timeZone = TimeZone(abbreviation: "UTC")

        print(dt)
    }

【讨论】:

  • 感谢@Rob 的评论,但它在两个方面都有效
猜你喜欢
  • 2020-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
相关资源
最近更新 更多