是+(NSTimeInterval)timeIntervalSinceReferenceDate timeZone敏感吗?

时间:2012-10-19 10:09:02

标签: objective-c nsdate

在美国执行此操作的人是否会与在美国执行此操作的人在同一时间执行此操作时看到相同的号码?

文件说它是从格林尼治标准时间2001年1月1日开始的时间。这意味着它从GreenWitch到1月1日开始。

然而,每个人都会看到不同的时钟。这意味着它已经本地化了。

所以它很暧昧。哪一个是对的?

2 个答案:

答案 0 :(得分:2)

NSDate不存储时区信息。它始终与GMT / UTC时间相关,这意味着您描述的人都会得到相同的结果。

答案 1 :(得分:0)

不,根据文件:

<强> timeIntervalSinceReferenceDate

  

返回值系统绝对参考日期之间的间隔   (2001年1月1日的第一个瞬间,GMT)和当前的日期和   时间。

当前日期取决于当地时间(+(id)日期)。因此,如果一个中国人和德国人一样按下按钮,间隔时间会相差6个小时。但就他们而言,如果他们在当地下午1点按下按钮,两者的间隔将是相同的。

修改

实际上我错了,正如马丁指出的那样:

  

NSDate代表一个时间点,对时间一无所知   区域。如果使用NSLog显示NSDate的值(@“%@”,[NSDate   date])然后使用GMT将日期转换为字符串进行显示。

所以回答你的问题:是的,它会是一样的。