2012-01-12 62 views
0

考虑到时区,我遇到了与我的网络服务器和iPhone应用程序有关的问题。这一切都安然无恙,我知道如何改变它,但我只是想知道考虑以下情况最好的方法是什么。与网络服务器和iPhone应用程序的时区问题

我正在使用的iPhone应用程序使用多个NSDate对象来存储日期时间值。这些与使用时间戳进行比较日期的网络服务器(包括数据库)进行交换。为了导出NSDate对象,我通常通过格式化NSDate timeIntervalSince1970将它转换为字符串。我不知道这个区间的确切时区是什么,但我猜这是区域设置(如果没有其他设置)。

我的网络服务器设置为CET(UTC-1)。当iPhone应用程序将时间间隔转换为UTC-3,并且数据库将其与UTC-1日期进行比较时,显然会出现间隙。

这里最好的办法是什么? timeIntervalSince1970如何处理时区?我很清楚NSDate没有时区(一个时区仅仅是表示),但是由于我通过一个字符串转换并且转换为unix时间,我认为它很重要。

任何帮助,非常感谢。

亲切的问候,

雷因德

回答

1

就一直使用UTC时间。在客户端和服务器上。

+0

谢谢!这意味着我将不得不重置我的网络服务器,并确保'timeIntervalSince1970'发送时间戳为UTC。 – 2012-01-12 16:58:00

0

是的,我同意以前的帖子,以保持服务器和iPhone数据库在同一时区(UTC)。在实际上在屏幕上显示某些内容时(例如在UITextView中),只使用当地时间时,我只会混淆不同的时区。因此,如果悉尼某人与伦敦某人同时与服务器同步,则服务器和他们的iPhone数据库都将存储相同的日期时间,但会显示不同的时间。

相关问题