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);
Избегайте создания объекта Date с / System.currentTimeMillis () . Деление на 1000 возвращает вас к эпохе Unix.
Как уже упоминалось в комментарии, вы, как правило, хотите, чтобы примитивный long (в нижнем регистре-l long) не в штучной упаковке длинный объект (заглавная-L Long) для типа переменной unixTime.
long unixTime = System.currentTimeMillis() / 1000L;