Получение “unixtime” в Java

Date.getTime () возвращает миллисекунды начиная с Jan 1, 1970. Unixtime является секундами начиная с Jan 1, 1970. Я обычно не кодирую в Java, но я работаю над некоторыми исправлениями ошибок. Я имею:

Date now = new Date();      
Long longTime = new Long(now.getTime()/1000);
return longTime.intValue();

Существует ли лучший способ получить unixtime в Java?

ОБНОВЛЕНИЕ

На основе предложения M John я закончил с:

return (int) (System.currentTimeMillis() / 1000L);
250
задан Per Lundberg 13 November 2019 в 03:58
поделиться

1 ответ

Избегайте создания объекта Date с / System.currentTimeMillis () . Деление на 1000 возвращает вас к эпохе Unix.

Как уже упоминалось в комментарии, вы, как правило, хотите, чтобы примитивный long (в нижнем регистре-l long) не в штучной упаковке длинный объект (заглавная-L Long) для типа переменной unixTime.

long unixTime = System.currentTimeMillis() / 1000L;
463
ответ дан John M 23 November 2019 в 02:55
поделиться
Другие вопросы по тегам:

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