【问题标题】:How to convert server time to device time in iOS apps如何在 iOS 应用程序中将服务器时间转换为设备时间
【发布时间】:2014-03-17 04:14:05
【问题描述】:

在 iOS 应用程序上工作并出现问题:

在 iOS 应用中,用户将完成任务。为了协调来自不同时区的用户,使用服务器(美国/印第安纳/印第安纳波利斯)上的时间记录任务完成时间。话虽如此,我们需要一种方法将此服务器时间转换为用户个人设备上的时间(例如,一个来自洛杉矶的用户和另一个来自夏威夷的用户)。

我知道我需要使用 NSTimeFormatter 或与之相关的东西,但今天早上与它搏斗后,我仍然无法让它工作。鉴于这应该在应用程序开发中做很多,我正在寻求一些帮助!

那么,如何在用户设备上将从 Mysql 获取的字符串(例如 2014-02-16 14:00:20. in America/Indiana/Indianapolis 时区)转换为本地时区?

谢谢各位!

【问题讨论】:

  • 如何从服务器获取以毫秒为单位的时间,然后从设备获取以毫秒为单位的时间,然后做任何你想做的事情?

标签: ios iphone timezone nsdateformatter


【解决方案1】:

为简单起见,您使用从服务器获取 UTC 时间,这样您只需担心一次时区转换(客户端)。

您可以以某种标准格式获取它,您可以使用 NSDateFormatter 来放松,或者按照 Idan 的建议,考虑获取自 1970 年以来以毫秒为单位的时间(这是适用于 iPhone 和类似服务器的 UNIX 标准),然后只需将该值转换为 NSDate,该 NSDate 将针对当前时区正确显示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 2011-02-12
    • 2016-07-08
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多