日期时间澄清

时间:2013-11-04 05:57:56

标签: java

目前我有一个AIX SERVER,如果我在终端上发出命令date,我会得到Mon Nov 4 00:28:40 EST 2013的响应。

我的秒值1383561560是自Wednesday, 31 December 1969, 19:00:00 (UTC time)以来的秒数。

现在我有一个代码可以计算从31 December 1969, 19:00:00 (UTC time)到EST时间的日期和时间。

DateFormat df = new SimpleDateFormat("MM/dd/yyyy_HH:mm:ss a");
df.setTimeZone(TimeZone.getTimeZone("EST"));
long ms = (long)(1383560920) *1000;
Date d1 = new Date(ms);
String formattedDate = df.format(d1); 
System.out.println("Now the date/time is "+formattedDate );

现在显示的日期/时间为11/04/2013_05:28:40 AM

这里为什么会有5个小时的差异?

1 个答案:

答案 0 :(得分:1)

Java Date基准时间从1 January 1970, 00:00:00开始,但您的时间为31 December 1969, 19:00:00。所以计算时间的差异将是5小时。

有关详细信息,请阅读此docs

  

分配Date对象并初始化它以表示指定的对象   自标准基准时间以来被称为"的毫秒数   时代",即1970年1月1日00:00:00 GMT。

     

参数:日期 - 自1970年1月1日00:00:00 GMT以来的毫秒数。