переводит значение миллисекунд в дату? - PullRequest
1 голос
/ 11 ноября 2010

рассмотрите следующий код:

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 ]

8 голосов
/ 11 ноября 2010

1263585534000 больше, чем 2 ^ 31-1. Используйте L для обозначения Long.

date2 = new Date(1263585534000L);
3 голосов
/ 11 ноября 2010
date2 = new Date(1263585534000L);

, заканчивающийся буквой L для длинного литерала, указывающего, что это длинное число.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...