目前我有一个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个小时的差异?
答案 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以来的毫秒数。