时区/ DST与NSDate不可知的时间戳

我正在创build将被发送到服务器的对象,并且我试图确保我考虑时区和夏时制问题,所以我希望我的时间戳是“1970年以来的秒数”,而不考虑时区等。

[NSDate timeintervalSinceReferenceDate]足够吗? 在文档中,我知道自January 1 1970 00:00:00 GMTJanuary 1 1970 00:00:00 GMT以来,这是我想要的,但NSDate如何处理时区? 如果用户发送一个设备设置为EST的对象,然后将其设备更改为PST,那么这对时间戳有什么影响? 我的目标是没有什么区别,我似乎无法从文档中搜集。

date编程是一个棘手的问题,我想确保我做对了。

文档说timeIntervalSinceReferenceDate给自2001年以来的时间timeIntervalSince1970返回自1970年以来的时间。

但无论如何, NSDate描述了一个时间点。 用户的时区仅影响date显示给用户的方式(例如,通过NSDateFormatter)。 所以你不必担心时区。

但也许你不必担心用户的时钟是错的。 用户可以将自己的时钟设置为任何他们想要的,所以你不应该相信它的任何关键任务。 改用服务器时钟。