2013-11-02 4 views
2

У меня есть метки формата 1382482802615, который я получаю от некоторого JS кода, как это:PARSING метка времени в расслоение плотной Java

new Date().getTime() 

Мне нужно разобрать выше метки времени в Java. Я получаю вышеуказанные данные в виде строки. Я не могу сделать следующее, которое выдает ошибку компиляции вне диапазона.

Date date = new Date(1382482802615); 

Но если я что-то вроде этого:

Date date = new Date(); 
    System.out.println(date.getTime()); 

Он печатает 1383391655609, которая содержит одинаковое количество цифр.

Что я делаю неправильно? Или как я могу разобрать что-то вроде 1382482802615 в дату в java?

+0

1382482802615 слишком большой, чтобы вписаться в 32-битный int. Вам нужно долго: 1382482802615L. –

+0

* Я получаю приведенные выше данные как строку *, поэтому вы имеете в виду ** 1382482802615 ** как строку – SpringLearner

ответ

4

Без L значение было int по умолчанию и превысило лимит Integer.MAX_VALUE. Добавьте L, чтобы преобразовать значение int так долго.

Date date = new Date(1382482802615L); 
Смежные вопросы