Это довольно странно, но я не нашел никакого результата о преобразовании Joda (Time) DateTime
в Unix DateTime (или timestamp, в зависимости от того, какое имя является правильным). Как я могу это сделать?
Joda DateTime для Unix DateTime
Ответ 1
Любой объект, который наследует от BaseDateTime
(включая DateTime
), имеет метод
public long getMillis()
В соответствии с API он:
Получает миллисекунды момента времени datetime из эпохи Java 1970-01-01T00: 00: 00Z.
Итак, рабочий пример, чтобы получить секунды, будет просто:
new DateTime().getMillis() / 1000
Для полноты определения Unix Timestamp согласно Wikipedia:
Время Unix или время POSIX - это система для описания моментов времени, определяемая как количество секунд, прошедших с 00:00:00. Скоординированное универсальное время (UTC), четверг, 1 января 1970 года, не считая прыжка секунд
Ответ 2
Java 8 добавила новый API для работы с датами и временем. С помощью Java 8 вы можете использовать
long unixTimestamp = Instant.now(). getEpochSecond();