Java: Дата от метки времени Unix

Я должен преобразовать метку времени Unix в объект даты.
Я попробовал это:

java.util.Date time = new java.util.Date(timeStamp);

Значение метки времени: 1280512800

Дата должна быть "30.07.2010 - 22:30:00" (поскольку я получаю ее PHP), но вместо этого я добираюсь Thu Jan 15 23:11:56 IRST 1970.

Как это должно быть сделано?

234
задан Eric Leschinski 19 September 2014 в 09:01
поделиться

2 ответа

Для 1280512800 умножьте на 1000, поскольку java ожидает миллисекунды:

java.util.Date time=new java.util.Date((long)timeStamp*1000);

Если у вас уже были миллисекунды, то просто new java.util.Date ((long) timeStamp);

Из документации :

Выделяет объект Date и инициализирует его для представления указанное количество миллисекунд с стандартное базовое время, известное как " эпоха », а именно 1 января 1970 г. 00:00:00 GMT.

421
ответ дан 23 November 2019 в 03:29
поделиться

Конструктор Date ожидает, что значение timeStamp будет в миллисекундах. Умножьте значение временной метки на 1000, затем передайте его конструктору.

11
ответ дан 23 November 2019 в 03:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: