localdate和localdatetime互转_datetimeformatter.ofpattern

localdate和localdatetime互转_datetimeformatter.ofpatternLocalDateTime及LocalDate是Java8的新特性,有时为了兼容Date类型需要进行转换。今天的项目就有一个需求是实现一个函数能够计算出当天在一年中的第多少天,通过搜索找到java8有LocalDateTime类就能够实现这个需求。但是需要进行时间类型的转换工作。这里把LocalDateTimeLocalDate和Date之间的转换进行了整理,方便大家使用。转换方法LocalDateTime转LocalDateLocalDate转LocalD

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

目录

使用背景

 转换方法

LocalDateTime 转 LocalDate

LocalDate 转 LocalDateTime

LocalDate 转 Date

Date转LocalDate 

LocalDateTime转Date

Date 转 LocalDateTime

现在LocalDateTime、LocalDate、Date之间的相互转换就完成了


使用背景

LocalDateTime 及 LocalDate 是 Java8 的新特性,有时为了兼容 Date 类型需要进行转换。

今天的项目就有一个需求是实现一个函数 能够计算出当天在一年中的第多少天,通过搜索找到java8有LocalDateTime类就能够实现这个需求。但是需要进行时间类型的转换工作。

这里把LocalDateTime LocalDate和Date之间的转换进行了整理,方便大家使用。

        LocalDateTime now = LocalDateTime.now();
        int dayOfYear = now.getDayOfYear();
        System.out.println(dayOfYear);

 转换方法

LocalDateTime 转 LocalDate

LocalDateTime localDateTime = LocalDateTime.now();
LocalDate localDate = localDateTime.toLocalDate();

LocalDate 转 LocalDateTime

一般调用 atTime() 方法进行赋值

LocalDate localDate = LocalDate.now();
LocalDateTime localDateTime1 = localDate.atStartOfDay();
LocalDateTime localDateTime2 = localDate.atTime(8,20,33);
LocalDateTime localDateTime3 = localDate.atTime(LocalTime.now());

LocalDate 转 Date

先调用 atStartOfDay() 方法转 LocalDateTime 再转 Date

LocalDate localDate = LocalDate.now();
ZoneId zoneId = ZoneId.systemDefault();
Date date = Date.from(localDate.atStartOfDay().atZone(zoneId).toInstant());

Date转LocalDate 

Date date = new Date();
ZoneId zoneId = ZoneId.systemDefault();
LocalDate localDate = date.toInstant().atZone(zoneId).toLocalDate();

LocalDateTime转Date

在LocalDateTime 转 Date 时,需要使用到 Java 8的几个类

  • ZoneId/ZoneOffset:表示时区
  • ZonedDateTime: 表示特定时区的日期和时间
  • Instant:表示时刻,不直接对应年月日信息,需要通过时区转换
//d当前时间
LocalDateTime localDateTime = LocalDateTime.now();
//系统的默认时区
ZoneId zoneId = ZoneId.systemDefault();
//时区的日期和时间
ZonedDateTime zonedDateTime = localDateTime.atZone(zoneId);
//获取时刻
Date date = Date.from(zonedDateTime.toInstant());
System.out.println("格式化前:localDateTime:" + localDateTime + "  Date:" + date);
//格式化LocalDateTime、Date
DateTimeFormatter localDateTimeFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("格式化后:localDateTime:" + localDateTimeFormat.format(localDateTime) + "  Date:" + dateFormat.format(date));

输出结果如下:

格式化前:localDateTime:2022-10-27T11:35:09.969  Date:Tue Oct 27 11:35:09 CST 2022
格式化后:localDateTime:2022-10-27 11:35:09  Date:2022-10-27 11:35:09

Date 转 LocalDateTime

先转 ZonedDateTime 再转 LocalDateTime

Date date = new Date();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = date.toInstant().atZone(zoneId).toLocalDateTime();

现在LocalDateTime、LocalDate、Date之间的相互转换就完成了

localdate和localdatetime互转_datetimeformatter.ofpattern

 

如果觉得本文对你有帮助,欢迎点赞,欢迎关注我,如果有补充欢迎评论交流,我将努力创作更多更好的文章。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188980.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sql error 904_mysql报2005错误

    sql error 904_mysql报2005错误mysql清除relay-log文件方法详解mysql清除relay-log文件方法详解今天在本机的mysql数据目录下发现了许多类似hostname-relay-bin.0000*的文件,该文件一般是在mysqlslave实例上存在。主要用途是记录主从同步的信息,正常情况下会自动删除的。本机未配置过master、slave,…文章白及882016-02-245754浏览量exp导出出现…

    2022年9月20日
    5
  • Linux技术简历项目经验示例(二)[通俗易懂]

    服务器上线搭建系统环境1.根据现有结构部署工具(PXE+kickstart);2.结合应用系统需求定制部署模版;3.制作系统优化等一键执行脚本;4.自动化部署实施;5.根…

    2022年4月14日
    252
  • mybatis的两种分页方式:RowBounds和PageHelper「建议收藏」

    mybatis的两种分页方式:RowBounds和PageHelper「建议收藏」原理:拦截器。使用方法:RowBounds:在mapper.java中的方法中传入RowBounds对象。RowBoundsrowBounds=newRowBounds(10,100);//offset起始行//limit是当前页显示多少条数据publicList<ReportDatainfo>findRecords(ReportDatainforeportD…

    2022年9月16日
    4
  • smartctl命令详解

    smartctl命令详解1、什么是S.M.A.R.T.SMART是一种磁盘自我分析检测技术,早在90年代末就基本得到了普及,每一块硬盘(包括IDE、SCSI)在运行的时候,都会将自身的若干参数记录下来。这些参数包括型号、容量、温度、密度、扇区、寻道时间、传输、误码率等。硬盘运行了几千小时后,很多内在的物理参数都会发生变化,某一参数超过报警阈值,则说明硬盘接近损坏,此时硬盘依然在工作,如果用户不理睬这个报警继续使用,那

    2022年6月25日
    94
  • 怎么安装纯净版win10_影视大全纯净版app下载

    怎么安装纯净版win10_影视大全纯净版app下载文章目录1.制作系统安装盘1.1准备U盘以及一台用来制作安装盘的电脑1.2下载WIN10安装包1.3制作完成的系统安装盘1.4U盘格式化应选择的文件系统2.安装WIN10操作系统前的准备2.1插入系统安装盘2.2设置U盘(系统安装盘)为第一启动项2.3注意:启动引导方式的选择2.4补充:磁盘分区格式(MBR分区和GPT分区)和启动引导(Legacy和UEFI)的关系3.开始安装WIN10操作系统3.1将系统直接安装到固态硬盘内(不分区)3.2将固态硬盘分区后,将系统安装到其中一个

    2022年8月11日
    8
  • python break和continue

    python break和continuebreak语句break语句是用来终止循环语句的,即哪怕循环条件没有称为False或序列还没有被完全递归,也停止执行循环语句。>>>whileTrue:…s=input(‘Entersomething’)…ifs==’quit’:…break…print(‘aa’)…..

    2022年5月13日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号