LocalDateTime与时间戳互相转换

这是我使用在我们项目中的一个方案,我挺喜欢这个方案的:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18

// LocalDateTime到时间戳

ZoneId systemDefaultZoneId = ZoneId.systemDefault();
ZoneOffset offset = systemDefaultZoneId.getRules().getOffset(localDateTime);

return String.valueOf(localDateTime.toInstant(offset).toEpochMilli());


// 时间戳到LocalDateTime

long timestamp = Long.parseLong(text);

Instant instant = Instant.ofEpochMilli(timestamp);
ZoneId zone = ZoneId.systemDefault();

return LocalDateTime.ofInstant(instant, zone);

参考资料

  1. java8中时间的各种转换(LocalDateTime)