Joda DateTime для Unix DateTime

это достаточно странно, но я не нашел никакого результата о преобразовании Joda(Time) DateTime в Unix DateTime (или timestamp, в зависимости от правильного имени). Как я могу это сделать?

2 ответов


любой объект, который наследует от BaseDateTime (включая DateTime) имеет способ

public long getMillis()

по словам API это:

получает миллисекунды момента datetime от эпохи Java 1970-01-01T00:00: 00Z.

вот рабочий пример, чтобы получить секунд просто:

new DateTime().getMillis() / 1000

для полноты, определение метка времени Unix в соответствии с Википедия:

Unix time, или POSIX time, представляет собой систему для описания моментов времени, определяемых как количество секунд, прошедших с 00: 00: 00 Coordinated Universal Time (UTC), четверг, 1 января 1970 года, не считая високосных секунд


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

long unixTimestamp = Instant.now().getEpochSecond();