我正在使用timeIntervalSince1970转换当前日期。我在哪个时区收到?

时间:2018-11-15 14:10:05

标签: ios swift

我正在使用timeIntervalSince1970

转换当前日期。

我在哪个时区接收? 目前我在迪拜时区;这个转换的日期是UTC格式吗?

let epochTime = Date().timeIntervalSince1970

2 个答案:

答案 0 :(得分:5)

Date是绝对时间点。它没有时区。如果您在“ 1970年1月1日UTC 00000:00”启动了秒表,则timeIntervalSince1970的结果将是该秒表所经过的秒数。如果您将秒表放在飞机上并在世界上任何地方飞行,都没关系。你可以飞向月球。没关系将会经过相同的秒数(忽略相对论效应和偶尔的leap秒,以使其与地球不断变化的旋转速度保持同步)。

仅当您要将绝对时间点转换为人类可读的字符串(在这种情况下,您使用DateFormatter)或要将其转换为日历单位(使用{{ 1}}和特定的DateComponents)。

打印Calendar对象会引起很多混乱,这些对象带有类似“ 2018-11-15 14:19:27 +0000”的字样,但这并不意味着时间点是“在““ +0000”时区。这只是一种方便的格式,可显示给程序员以帮助调试。如果需要字符串,则必须使用Date

答案 1 :(得分:1)

timeIntervalSince1970返回的值是从日期'1970-01-01 00:00:00.000'开始的TimeInterval(又称Double),以秒为单位,直到指定的时间戳记为止。