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小时,就是我们当前的时间

https://github.com/cmshome/JavaNote/blob/master/tool/src/main/java/com/lxk/tool/util/TimeUtils.javahttps://github.com/cmshome/JavaNote/blob/master/tool/src/main/java/com/lxk/tool/util/TimeUtils.java

以上是关于Java8 LocalDateTime 转时间戳 秒毫秒的主要内容,如果未能解决你的问题,请参考以下文章

java8日期时间API的一些使用 | 转字符串 | 格式化等

java8日期时间API的一些使用 | 转字符串 | 格式化等

JAVA8 LocalDateTime

spring-rest接口LocalDateTime转时间戳

spring-rest接口LocalDateTime转时间戳

spring-rest接口LocalDateTime转时间戳