将 Joda LocalDateTime 转换为 Unix 时间戳

Convert Joda LocalDateTime to Unix timestamp

如果本地时间是 UTC 时区,我如何将 org.joda.time.LocalDateTime 转换为 Unix 时间戳?

示例:

new LocalDateTime(2015, 10, 02, 11, 31, 40) > 1443785500.

鉴于您需要 Unix 时间戳 "the given LocalDateTime, in UTC",最简单的方法是通过为 UTC 指定 DateTimeZone 将其转换为 DateTime,然后转换:

LocalDateTime local = new LocalDateTime(2015, 10, 02, 11, 31, 40);
DateTime utc = local.toDateTime(DateTimeZone.UTC);
long secondsSinceEpoch = utc.getMillis() / 1000;

请注意此处使用秒作为 Unix 时间戳 - 其他 API(例如 java.util.Date)可能需要自 Unix 纪元以来的毫秒数。