Datetime 处理不同客户端时区的最佳实践?

Datetime 处理不同客户端时区的最佳实践?,datetime,timezone,timestamp,client-server,Datetime,Timezone,Timestamp,Client Server,我正在构建一个iPhone聊天应用程序,它使用一个中央服务器。 与不同时区的客户打交道的最佳做法是什么 我的意思是,当client1向client2发送消息时,服务器会根据服务器时区在其数据库中保存带有时间戳的消息,这可能与client1时区和client2时区不同。 那么,我如何管理这一点呢?这样,当客户端2收到消息时,他将知道如何将其转换为时区,或者服务器将进行转换???首先,您需要将时间存储为UTC。然后当显示时,您需要检测时区,它将加/减。所以我需要检测客户端中的时区,并使用它将我从服务

我正在构建一个iPhone聊天应用程序,它使用一个中央服务器。 与不同时区的客户打交道的最佳做法是什么

我的意思是,当client1向client2发送消息时,服务器会根据服务器时区在其数据库中保存带有时间戳的消息,这可能与client1时区和client2时区不同。

那么,我如何管理这一点呢?这样,当客户端2收到消息时,他将知道如何将其转换为时区,或者服务器将进行转换???

首先,您需要将时间存储为UTC。然后当显示时,您需要检测时区,它将加/减。

所以我需要检测客户端中的时区,并使用它将我从服务器获得的UTC时间转换为本地时间?您知道如何在目标c中做到这一点吗?请参阅有关NSDate、NSDate组件和NSDateFormatter的文档。//获取当前日期/时间NSDate*today=[NSDate date];NSDateFormatter*dateFormatter=[[NSDateFormatter alloc]init];//根据用户设置[dateFormatter setTimeStyle:NSDateFormatter ShortStyle]以12小时/24小时(即11:25PM或23:25)格式显示;NSString*currentTime=[dateFormatter stringFromDate:today];[日期格式化程序发布];NSLog(@“用户首选格式的当前时间:%@”,currentTime);如果我使用timeIntervalSince1970而不是UTC怎么办?这样行吗?我真的不明白这两者之间的区别。。