搜索
首页Javajava教程如何在 java.time.LocalDateTime 和 java.util.Date 之间转换?

How to Convert Between java.time.LocalDateTime and java.util.Date?

在 java.time.LocalDateTime 和 java.util.Date 之间转换

随着 Java 8 引入 java.time 包,开发人员已经接受了它的新 API 来处理日期和时间。在其类中,LocalDateTime 拥有与时区无关的日期与时间值。

但是,遗留代码通常依赖于 java.util.Date 类。当集成新旧代码库时,这两个类之间的转换是必要的。

转换方法:

从 java.util.Date 到 LocalDateTime:

  1. 使用 toInstant() 方法将 java.util.Date 转换为 Instant。
  2. 使用 ZoneId.systemDefault() 指定时区,通过 ofInstant() 创建 LocalDateTime( ).

代码:

Date in = new Date();
LocalDateTime ldt = LocalDateTime.ofInstant(in.toInstant(), ZoneId.systemDefault());

从 LocalDateTime 到 java.util.Date:

  1. 使用 atZone(ZoneId) 将 LocalDateTime 转换为 ZonedDateTime。
  2. 使用 toInstant() 将 ZonedDateTime 转换为 Instant,然后使用 Date.from() 将 ZonedDateTime 转换为 java.util.Date。

代码:

LocalDateTime ldt = ...
ZonedDateTime zdt = ldt.atZone(ZoneId.systemDefault());
Date output = Date.from(zdt.toInstant());

关于夏令时 (DST) 的注意事项:

从 LocalDateTime 转换为 java.util由于 DST,通过 ZonedDateTime 的日期可能会引入意外行为。某些 LocalDateTime 值可能不存在,或者可能在 DST 转换期间出现两次。有关详细信息,请参阅 atZone(ZoneId) 的 Javadoc。

其他注意事项:

  • java.util.Date 表示时间线上的瞬间,而 java.time.* 中的 Instant 表示没有时区的瞬间。
  • LocalDateTime 和 java.util.Date 之间的转换可能会因 1582 年之前的日历系统(儒略历与公历)差异而导致不同的瞬间.

以上是如何在 java.time.LocalDateTime 和 java.util.Date 之间转换?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
曲线积分变量替换:如何将$\int_0^1 \frac{y^2}{\sqrt{1-y^2}}dy$转化为$\int_0^{\frac{\pi}{2}}\sin^2tdt$?曲线积分变量替换:如何将$\int_0^1 \frac{y^2}{\sqrt{1-y^2}}dy$转化为$\int_0^{\frac{\pi}{2}}\sin^2tdt$?Apr 19, 2025 pm 03:03 PM

关于曲线积分中变量替换的疑问本文将针对一个曲线积分计算中变量替换的步骤进行详细解释。提问者在计算一...

微信小程序申请:流程、费用及与服务号的关系详解?微信小程序申请:流程、费用及与服务号的关系详解?Apr 19, 2025 pm 03:00 PM

微信小程序申请流程及费用详解朋友委托开发微信小程序商城,在申请过程中遇到一些关于费用和流程的问题,...

Java缓存数据丢失:为何从缓存中无法获取数据?Java缓存数据丢失:为何从缓存中无法获取数据?Apr 19, 2025 pm 02:57 PM

Java缓存数据无法获取的原因分析及优化方案在Java项目中,将大量数据缓存到内存中以便快速访问是一个常见的�...

想成为更优秀的Java开发者,深入研究JVM的哪些方面最值得投入?
或
Java进阶:深入研究JVM,哪些核心机制最值得探索?想成为更优秀的Java开发者,深入研究JVM的哪些方面最值得投入? 或 Java进阶:深入研究JVM,哪些核心机制最值得探索?Apr 19, 2025 pm 02:54 PM

深入Java:值得探索的虚拟机世界很多Java开发者在掌握了基础语法和常用框架后,都希望进一步提升自己的技术�...

使用EasyExcel填充Excel模板时,如何解决合并单元格的数据覆盖和样式丢失问题?使用EasyExcel填充Excel模板时,如何解决合并单元格的数据覆盖和样式丢失问题?Apr 19, 2025 pm 02:51 PM

EasyExcel模板填充合并单元格时的常见问题在使用EasyExcel进行Excel...

系统对接中的字段映射如何通过MapStruct工具高效解决?系统对接中的字段映射如何通过MapStruct工具高效解决?Apr 19, 2025 pm 02:48 PM

系统对接中的字段映射挑战及其解决方案在系统对接过程中,经常会遇到需要将一个系统的接口字段映射到另一...

SpringBoot应用中PgJDBC连接池抛出'PSQLException: ERROR: canceling statement due to user request”异常该如何解决?SpringBoot应用中PgJDBC连接池抛出'PSQLException: ERROR: canceling statement due to user request”异常该如何解决?Apr 19, 2025 pm 02:45 PM

SpringBoot应用中PgJDBC连接池抛出PSQLException:ERROR:cancelingstatementduetouserrequest异常在使用SpringBoot MyBatis-Plus ...

如何设计抽奖算法才能确保不亏损?如何设计抽奖算法才能确保不亏损?Apr 19, 2025 pm 02:42 PM

如何设计抽奖算法以保证不亏损?在设计一个抽奖产品时,如何设置每个奖品的中奖概率是一个关键问题。假设...

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。