System.currentTimeMillis()/1000 如何在 JAVA 中工作

How System.currentTimeMillis()/1000 working in JAVA

我只是想了解System class中的currentTimeMillis()/1000L方法。据我了解,此方法将 return 当前时间(以秒为单位)。我在这里有疑问如果我 运行 本地 jvm (IST) 中的相同代码和远程框 (Sanjose) 将 return 不同的值作为输出?

如果我们 运行 美国和印度的不同 JVM 中的代码,有人能解释一下它是如何工作的吗?输出是什么。 return 输出相同吗?还是不同?

它给出了自纪元时间 00:00:00 on 1 January 1970 以来经过的毫秒数。它也被称为 Unix 时间。在此处了解更多信息 https://en.wikipedia.org/wiki/Unix_time

它是 returns 自 unix 纪元开始以来的毫秒数,它与时区无关。因此,它应该return 相同的输出。

代码将 return 相同的输出,因为 .currentTimeMillis() 函数使用 UTC 时区而不是 JVM 的本地时区。

查看 Oracle 文档:https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#currentTimeMillis()