将Joda LocalDateTime转换为Unix时间戳

时间:2015-10-02 11:32:36

标签: java jodatime unix-timestamp

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

示例:

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

1 个答案:

答案 0 :(得分:21)

鉴于您希望Unix时间戳“给定的LocalDateTime,在UTC中”最简单的方法是通过为UTC指定DateTime将其转换为DateTimeZone,并转换的是:

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纪元以来的毫秒数。