9

我有一个类,它使用java.util.Date类来创建日期对象并getTime()用于获取当前毫秒。

我在getTime()返回毫秒的 Java 文档中看到过,我的机器上也有同样的情况。

我有另一台服务器,当我在服务器上部署我的应用程序时,同样getTime()会以秒为单位返回时间戳。

例如

  • 服务器上的值:1350054625
  • 本地价值:1350054625000

我想知道这怎么可能,我在本地尝试了相同的代码,然后又得到了以毫秒为单位的时间戳。

下面是部分代码...

String longTime = new Long((new Date().getTime())).toString();
if(log.isDebugEnabled())log.debug("LAST_FEED_TIME will be " + longTime + " stored.");
4

1 回答 1

9

'new Date()' 反过来使用 System.currentTimeMillis()

System.currentTimeMillis

以毫秒为单位返回当前时间。请注意,虽然返回值的时间单位是毫秒,但值的粒度取决于底层操作系统,并且可能更大。例如,许多操作系统以几十毫秒为单位测量时间。

有关“计算机时间”和协调世界时 (UTC) 之间可能出现的细微差异的讨论,请参阅类 Date 的描述。

来源:http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/System.html#currentTimeMillis()

于 2012-10-15T11:37:47.307 回答