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

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

Linda Hamilton
发布: 2024-12-08 02:49:10
原创
753 人浏览过

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

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

Java 的日期和时间 API 在 JDK 8/JSR-310 中进行了大修,引入了处理日期相关操作的新范例。此转换中的一个常见任务是将现有 java.util.Date 对象转换为新的 java.time.LocalDate 格式。

简短回答

将 java.util.Date 对象转换为新的 java.time.LocalDate 格式。 util.Date 到 LocalDate,遵循这些步骤:

Date input = new Date();
LocalDate date = input.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
登录后复制

说明

java.util.Date 表示没有任何时区信息的瞬时时间。但是,LocalDate 表示没有时间或时区的特定日历日期。

要将 Date 转换为 LocalDate,必须首先使用 toInstant() 方法将 Date 转换为 Instant。 Instant 没有与之关联的时区。

接下来,您需要将时区应用于 Instant 以获取 ZonedDateTime 对象。您可以使用 ZoneId.systemDefault() 获取默认系统时区。

最后,您可以使用 toLocalDate() 方法从 ZonedDateTime 对象中提取 LocalDate 组件。

Java 9 答案

Java SE 9 引入了上述内容的更简单的替代方案conversion:

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

此方法直接将 Date 转换为 LocalDate,不需要中间的 ZonedDateTime 对象。

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

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