首页 > Java > java教程 > 正文

如何在 java.util.Date 和 java.time 类型之间进行转换?

Mary-Kate Olsen
发布: 2024-11-04 08:26:31
原创
345 人浏览过

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

如何将 java.util.Date 转换为 java.time 类型

问题: 如何转换 java.util.Date 或 java .util.Calendar 对象转换为适当的 java.time 框架类型?

答案:

从 java.util.Date 到 Instant

进行转换java.util.Date 到 Instant,使用 toInstant 方法:

<code class="java">Instant instant = myUtilDate.toInstant();</code>
登录后复制

从 java.util.Calendar 到 Instant

对于 java.util.Calendar 对象,使用 toInstant 方法:

<code class="java">Instant instant = myUtilCalendar.toInstant();</code>
登录后复制

从 java.util.GregorianCalendar 到 ZonedDateTime

要将 java.util.GregorianCalendar 转换为 ZonedDateTime,请使用 toZonedDateTime 方法:

<code class="java">if (myUtilCalendar instanceof GregorianCalendar) {
    GregorianCalendar gregCal = (GregorianCalendar) myUtilCalendar;
    ZonedDateTime zdt = gregCal.toZonedDateTime();
}</code>
登录后复制

从 OffsetDateTime 到 java.util.Date

从 OffsetDateTime 中提取 Instant 并使用它来创建 java.util.Date:

<code class="java">java.util.Date myUtilDate = java.util.Date.from(odt.toInstant());</code>
登录后复制

从 ZonedDateTime 到 java.util.Date

类似地,从 ZonedDateTime 中提取 Instant:

<code class="java">java.util.Date myUtilDate = java.util.Date.from(zdt.toInstant());</code>
登录后复制

从 ZonedDateTime 到 GregorianCalendar

使用 from 方法将 ZonedDateTime 转换为 GregorianCalendar:

<code class="java">java.util.Calendar myUtilCalendar = java.util.GregorianCalendar.from(zdt);</code>
登录后复制

从 LocalDate 到 ZonedDateTime

从 LocalDate 到 ZonedDateTime 需要指定时区:

<code class="java">LocalDate localDate = zdt.toLocalDate();
ZonedDateTime zdt = localDate.atStartOfDay(zoneId);</code>
登录后复制

从 LocalTime 到 ZonedDateTime

同样,对于 LocalTime:

<code class="java">LocalTime localTime = zdt.toLocalTime();
ZonedDateTime zdt = ZonedDateTime.of(localDate, localTime, zoneId);</code>
登录后复制

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

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