1

我有从 1969 年 12 月 31 日 19:00:00 即(EST)开始的秒数,我想将其转换为日期格式。

我有以下代码返回任何无效日期。谁能指出这里似乎是什么问题。

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;


public class sample 
{

    public static void main(String args[])
    {
        DateFormat df = new SimpleDateFormat("dd/MMM/yyyy HH:mm:ss");
        df.setTimeZone(TimeZone.getTimeZone("EST"));
        Date d1 = new Date(1000*1373604190); //Converting to millisecond
         String formattedDate = df.format(d1); 
         System.out.println(formattedDate); //I'm getting 22/Dec/1969 16:50:55
    }
}

我该如何解决这个问题。

4

2 回答 2

5

您使用的是int文字而不是long数字。默认情况下,整数文字是int,除非您指定它long以 L 结尾。尝试这个:

Date d1 = new Date(1000*1373604190L);

(注意文字 1373604190 末尾的 L)

于 2013-08-06T04:16:16.587 回答
0
于 2016-12-26T02:33:39.867 回答