首页 > Java > java教程 > 如何将 java.util.Date 转换为 java.time.LocalDate?

如何将 java.util.Date 转换为 java.time.LocalDate?

DDD
发布: 2024-12-10 07:30:12
原创
458 人浏览过

How to Convert java.util.Date to java.time.LocalDate?

将 java.util.Date 转换为 java.time.LocalDate

JDK 8/JSR-310 中引入的 java.time 包提供了比遗留的 java.util.Date 类更现代、更全面的日期和时间 API。使用以下步骤可以有效地将 java.util.Date 对象转换为新的 java.time.LocalDate:

1.转换为即时:

java.util.Date 类表示自纪元以来以毫秒为单位的即时时间。要将 java.util.Date 对象转换为即时对象,请使用 toInstant() 方法。

Date input = new Date();
Instant instant = input.toInstant();
登录后复制

2.应用时区:

瞬间不包含时区信息。要将其转换为本地日期,我们需要应用时区。使用 atZone() 方法和所需的时区。

ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
登录后复制

3.提取 LocalDate:

ZonedDateTime 包含日期和时间以及时区。要提取 LocalDate,请使用 toLocalDate() 方法。

LocalDate date = zdt.toLocalDate();
登录后复制

Java 9 简化:

Java 9 引入了一种新方法来简化此转换:

LocalDate date = LocalDate.ofInstant(input.toInstant(), ZoneId.systemDefault());
登录后复制

此方法使用默认时区直接将即时时间转换为 LocalDate。比之前的方法更加简洁高效。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板