我想知道System.currentTimeMillis()是否能解释android上的夏令时。
让我说我打电话
x = System.currentTimeMillis();
然后十秒钟后,由于夏令时,操作系统将时钟切换回一小时。
现在我打电话
y = System.currentTimeMillis();
哪个更大,x
或y
?
我问这个是因为如果我手动更改时钟,x
大于y
。所以我想知道在计算System.currentTimeMillis()
返回的长值时是否考虑了夏令时。似乎无法在文档中找到任何内容。
答案 0 :(得分:6)
如果System.currentTimeMillis()占夏令时
没有。
Daylight Saving Time (DST)与System.currentTimeMillis
无关。
对System.currentTimeMillis
的调用自1970年第一时起UTC 1970-01-01T00:00:00Z
后给你一些毫秒数。没有对Leap Second的调整。
DST是根据无聊/未受过教育/疯狂的政客的心血来潮定义和重新定义的。 DST仅适用于一个或多个特定时区的辖区。
DST切换是异常现象,扰乱了一个地区公民的wall-clock time。但是space-time不会因DST切换而弯曲或扭曲,时间继续平稳流动。时间流量由System.currentTimeMillis
衡量,而不考虑当地政治家的阴谋。