new Date()。getTime()不返回以毫秒为单位的时间戳

时间:2012-10-15 11:09:08

标签: java unix-timestamp java.util.date gettime

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

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

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

e.g。

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

我想知道这是怎么可能的,我在本地尝试了相同的代码,并且我在几毫秒内得到了时间戳。

以下是代码的一部分......

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

1 个答案:

答案 0 :(得分:9)

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

  

<强> System.currentTimeMillis的

     

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

     

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

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