将毫秒值转换为日期?

时间:2010-11-11 14:23:44

标签: java date time

考虑以下代码:

public void convertTime()
{
    DateFormat df = new SimpleDateFormat(dateFormat);
    Date date;
    Date date2;

    date = df.parse("15/01/2010 21:58:54");
    date.getTime();                     //produces 1263585534000

    date2 = new Date(date.getTime());  //this is ok, compiles
    date2 = new Date(1263585534000);   //gives an error: The literal 1263585534000 of type int is out of range
}

我想知道如何将这个长数字转换为日期格式以及为什么我会收到此错误?

谢谢

2 个答案:

答案 0 :(得分:8)

1263585534000大于2 ^ 31-1。使用L表示Long。

date2 = new Date(1263585534000L);

答案 1 :(得分:3)

date2 = new Date(1263585534000L);

以L为长文字结尾,表示它是一个长数字。