Получение "unixtime" на Java

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

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

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

обновление

основываясь на предложении Джона м, я закончил:

return (int) (System.currentTimeMillis() / 1000L);

2 ответов


избегайте создания объекта даты w/


Java 8 добавил новый API для работы с датами и временем. С Java 8 вы можете использовать

import java.time.Instant
...
long unixTimestamp = Instant.now().getEpochSecond();

Instant.now() возвращает МиГ, представляющее текущее системное время. С getEpochSecond() вы получаете секунды эпохи (время unix) от Instant.