是否有一种简单的方法可以初始化NSDate
当前的UTC日期/时间?
没有
—
尼克·福奇
NSDate
设置为UTC的东西,它没有与之关联的时区。
@MurraySagal您不正确-
—
Nick Forge
NSDate
代表时间的瞬间(名称NSDate
有点用词不当)。在描述诸如“ 2001年1月1日的第一时刻”之类的时间时,您需要一个时区来计算出您所说的确切时间点,但是一旦NSDate
创建了该时间点,就没有与其相关的时区。
@NickForge NSDate被创建为“格林尼治标准时间2001年1月1日的第一个瞬间”,这是在特定时区的特定时间,这一事实是不变的,并且对于日期为何如此起作用至关重要。如果我们在不同的时区并且同时记录了此时间,
—
Murray Sagal 2013年
NSLog(@"since1970= %f", [[NSDate date] timeIntervalSince1970]);
则结果是相同的。为什么?因为它与特定时区(GMT)中的特定时间点有关,所以无论用户身在何处。它相对于GMT的事实一旦创建就不会消失。没有这个锚点,日期将是任意的。
@MurraySagal两种方式都对,但是尼克说“没有
—
devios1 2013年
NSDate
UTC设置是正确的”更正确,因为您无法设置的时区NSDate
,并且说错了它“有一个时区”。确实是相对于特定时区定义的,但是说它“有”时区意味着时区是的属性NSDate
,而事实并非如此。
[NSDate date]
工作吗?我不确定是否是UTC。