如何在iOS应用程序中将服务器时间转换为设备时间

时间:2014-02-17 18:10:52

标签: ios iphone timezone nsdateformatter

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

在iOS应用中,用户将完成任务。为了协调来自不同时区的用户,使用服务器上的时间(America / Indiana / Indianapolis)记录任务完成时间。话虽这么说,我们需要一种方法将这个服务器时间转换为用户个人设备上的时间(例如,来自洛杉矶的用户和来自夏威夷的另一个用户)。

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

那么,如何将从Mysql中获取的字符串(例如,在美国/印第安纳州/印第安纳波利斯时区的2014-02-16 14:00:20)转换为用户设备上的本地时区?

谢谢你们!

1 个答案:

答案 0 :(得分:0)

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

你可以使用某种标准格式获得它,你可以使用NSDateFormatter来展开,或者正如Idan建议的那样考虑自1970年以来以毫秒为单位获得时间(这是适用于iPhone和服务器的UNIX标准)然后只是将该值转换为NSDate,它将适当地显示当前时区。