System.currentTimeMillis代表的是UTC时间吗?

18

System.currentTimeMillis()方法返回的是自UTC 1970年1月1日以来经过的毫秒数,表示的是UTC时间。


请参考以下链接:http://www.velocityreviews.com/forums/t145337-system-currenttimemillis.html。 - Arcadien
2个回答

27

UTC - 它是自1970年1月1日协调世界时午夜以来的毫秒数(模除闰秒,可能存在)。

显然它依赖于本地系统的计算机 时钟,但不依赖于本地系统 时区

(译注:遗憾的是,Javadoc在这方面并没有更清晰的说明。)


6
所以同时,System.currentTimeMillis 的时间会在全球范围内保持一致(无论在哪里和所有时区),对吗? - Rajat Gupta
5
假设所有机器上都有准确的时钟,那么是的。 - Jon Skeet
@Jon Skeet,有没有一种优雅的方法将System.currentTimeMillis转换为设备的正确时区? - Eugene van der Merwe
@EugenevanderMerwe:你可以使用 java.util.Calendar,并设置时区和时间。个人建议使用 Joda Time。然而,通常不应该尝试将 long 当做“某个其他时区自午夜以来的毫秒数”,在我看来这很少有帮助。 - Jon Skeet
Java 文档就像你的回答... 它不能只说“是”或“否”吧? :) - Demigod

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接