Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

 更新时间:2025年04月12日 13:54:33   作者:一个默默小透明  
这篇文章主要介绍了Java中日期时间转换的多种方法,包括将Date转换为LocalDateTime、LocalDate等,以及将时间戳转换为LocalDateTime,文中通过代码介绍的非常详细,需要的朋友可以参考下

一、Date转LocalDateTime

    @Test
    public void test06(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // Date
        Date date = new Date();
        System.out.println("Date\t" + sdf.format(date));

        // Date 转 LocalDateTime
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime dateToLocalDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
        System.out.println("Date To LocalDateTime\t" + dtf.format(dateToLocalDateTime));
    }

二、Date转LocalDate

    @Test
    public void test07(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // Date
        Date date = new Date();
        System.out.println("Date\t" + sdf.format(date));

        // Date 转 LocalDate
        // 注意 LocalDate 只能有年月日,格式化日期不能有时分秒,否则会报错
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        LocalDate dateToLocalDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
        System.out.println("Date To LocalDate\t" + dtf.format(dateToLocalDate));
    }

三、LocalDateTime转LocalDate

    @Test
    public void test08(){
        // LocalDateTime 转 LocalDate
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        LocalDate localDateTimeToLocalDate = LocalDateTime.now().toLocalDate();
        System.out.println("LocalDateTime To LocalDate\t" + dtf.format(localDateTimeToLocalDate));
    }

四、LocalDateTime转LocalTime

    @Test
    public void test09(){
        // LocalDateTime 转 LocalTime
        // 注意 LocalTime 只能有时分秒,格式化日期不能有年月日,否则会报错
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss");
        LocalTime localDateTimeToLocalTime = LocalDateTime.now().toLocalTime();
        System.out.println("LocalDateTime To LocalTime\t" + dtf.format(localDateTimeToLocalTime));
    }

五、LocalDateTime转Date

    @Test
    public void test10(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // LocalDateTime 转 Date
        ZoneId zoneId = ZoneId.systemDefault();
        Date localDateTimeToDate = Date.from(LocalDateTime.now().atZone(zoneId).toInstant());
        System.out.println("LocalDateTime To Date\t" + sdf.format(localDateTimeToDate));
    }

六、LocalDate转Date

    @Test
    public void test11(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // LocalDate 转 Date
        Date LocalDateToDate = Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant());
        System.out.println("LocalDate To Date\t" + sdf.format(LocalDateToDate));
    }

七、时间戳转LocalDateTime

    @Test
    public void test12(){
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        // 时间戳 转 LocalDateTime
        Long timestamp = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();
        LocalDateTime time2 = LocalDateTime.ofEpochSecond(timestamp/1000,0,ZoneOffset.ofHours(8));
        System.out.println("时间戳 To LocalDateTime\t" + dtf.format(time2));
    }

总结

到此这篇关于Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码的文章就介绍到这了,更多相关Java中日期时间相互转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Security源码解析之权限访问控制是如何做到的

    Spring Security源码解析之权限访问控制是如何做到的

    Spring Security 中对于权限控制默认已经提供了很多了,但是,一个优秀的框架必须具备良好的扩展性,下面小编给大家介绍Spring Security源码解析之权限访问控制是如何做到的,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • 在Java编程中使用正则表达式的基本方法

    在Java编程中使用正则表达式的基本方法

    这篇文章主要介绍了在Java编程中使用正则表达式的基本方法,是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-11-11
  • Java FTP上传下载删除功能实例代码

    Java FTP上传下载删除功能实例代码

    这篇文章主要介绍了Java FTP上传下载删除功能实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • java性能优化四种常见垃圾收集器汇总

    java性能优化四种常见垃圾收集器汇总

    这篇文章主要介绍了java性能优化四种常见垃圾收集器汇总,每种垃圾收集器都有其不同的算法实现和步骤,下面我们简单描述下我们常见的四种垃圾收集器的算法过程,感兴趣的同学们最好先看下以下的两篇文章去增加理解
    2022-07-07
  • 如何使用Spring Security实现用户-角色-资源的权限控制

    如何使用Spring Security实现用户-角色-资源的权限控制

    文章介绍了如何通过SpringSecurity实现用户-角色-资源的权限管理,包括基于角色的请求控制、加载用户角色信息、角色与资源的关联等步骤,同时,提供了一些测试场景,以验证权限控制是否正确,感兴趣的朋友跟随小编一起看看吧
    2024-10-10
  • IDEA 集成 Docker 插件一键部署 SpringBoot 应用小结

    IDEA 集成 Docker 插件一键部署 SpringBoot 应用

    通过本文介绍的方法,我们期望能帮助开发者更轻松地在IDEA中实现Spring Boot应用的Docker化部署,为现代软件开发提供更便捷的解决方案,感兴趣的朋友一起看看吧
    2023-11-11
  • 详解Spring依赖注入的三种方式以及优缺点

    详解Spring依赖注入的三种方式以及优缺点

    IoC 和 DI 是 Spring 中最重要的两个概念,其中 IoC(Inversion of Control)为控制反转的思想,而 DI(Dependency Injection)依赖注入为其(IoC)具体实现。那么 DI 实现依赖注入的方式有几种?这些注入方式又有什么不同?本文就来和大家一起详细聊聊
    2022-08-08
  • Java并发编程中的CyclicBarrier线程屏障详解

    Java并发编程中的CyclicBarrier线程屏障详解

    这篇文章主要介绍了Java并发编程中的CyclicBarrier线程屏障详解,
    2023-12-12
  • mybatis模糊查询like语句该如何写

    mybatis模糊查询like语句该如何写

    MyBatis模糊查询通常使用LIKE关键字,结合concat函数拼接通配符%实现,在MyBatis配置文件中,通过#{keyword}传递参数,生成带有通配符的查询语句,MyBatis-Plus中,通过LambdaQueryWrapper类和like方法构建模糊查询条件,简化查询操作
    2024-09-09
  • java通过Excel批量上传数据的实现示例

    java通过Excel批量上传数据的实现示例

    Excel批量上传是常见的一种功能,本文就来介绍一下java通过Excel批量上传数据的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10

最新评论