Java8 LocalDateTime 转时间戳 秒毫秒
Posted 请叫我大师兄_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java8 LocalDateTime 转时间戳 秒毫秒相关的知识,希望对你有一定的参考价值。
Java 8 中 LocalDateTime 类型的时间转秒和毫秒的方法,简单记录一下。
private static final ZoneId ZONE_ID = ZoneOffset.systemDefault();
/**
* 8小时的秒数
*/
private static final int OFFSET = 8 * 60 * 60;
/**
* LocalDateTime -> 秒
*
* @param localDateTime localDateTime
* @return 秒
*/
public static long toSeconds(LocalDateTime localDateTime) {
return localDateTime.atZone(ZONE_ID).toEpochSecond();
}
/**
* LocalDateTime -> 毫秒
* 竟然加了8小时
*
* @param localDateTime localDateTime
* @return 毫秒
*/
public static long toMilliSecond(LocalDateTime localDateTime) {
// 比标准实际慢8小时,就是当前的时间了。
return localDateTime.toInstant(ZoneOffset.ofTotalSeconds(OFFSET)).toEpochMilli();
}
/**
* LocalDateTime 转秒和毫秒
*/
@Test
public void toSecondsAndMilliSecond() {
LocalDateTime now = LocalDateTime.now();
System.out.println(TimeUtils.toSeconds(now));
System.out.println(TimeUtils.toMilliSecond(now));
}
运行结果如下offset转毫秒的时候偏离一下,距离那个标准时间时区多8小时,就是我们当前的时间
以上是关于Java8 LocalDateTime 转时间戳 秒毫秒的主要内容,如果未能解决你的问题,请参考以下文章
java8日期时间API的一些使用 | 转字符串 | 格式化等
java8日期时间API的一些使用 | 转字符串 | 格式化等
spring-rest接口LocalDateTime转时间戳