Java8中 Date和LocalDate的相互转换[通俗易懂]

Java8中 Date和LocalDate的相互转换[通俗易懂]一.简述Date对象表示特定的日期和时间,而LocalDate(Java8)对象只包含没有任何时间信息的日期。因此,如果我们只关心日期而不是时间信息,则可以在Date和LocalDate之间进行转换。二.Date转LocalDate如果要将java.util.Date转换为java.time.LocalDate,可以使用以下步骤:1)将java.util.Date转换为ZonedDateTime

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

Jetbrains全系列IDE稳定放心使用

一.简述

Date对象表示特定的日期和时间,而LocalDate(Java8)对象只包含没有任何时间信息的日期。
因此,如果我们只关心日期而不是时间信息,则可以在Date和LocalDate之间进行转换。

二.Date转LocalDate

如果要将java.util.Date转换为java.time.LocalDate,可以使用以下步骤:

1)将java.util.Date转换为ZonedDateTime。
2)使用它的toLocalDate()方法从ZonedDateTime获取LocalDate。

示例:

package insping;

import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;

public class Test { 
   

    public static void main(String[] args) {
        Date date = new Date();
        Instant instant = date.toInstant();
        ZoneId zoneId = ZoneId.systemDefault();

        // atZone()方法返回在指定时区从此Instant生成的ZonedDateTime。
        LocalDate localDate = instant.atZone(zoneId).toLocalDate();
        System.out.println("Date = " + date);
        System.out.println("LocalDate = " + localDate);
    }
}

结果:

Date = Fri Jun 16 15:29:05 CST 2017
LocalDate = 2017-06-16

三.LocalDate转Date

现在,如果要将LocalDate转换回java.util.Date,可以使用以下步骤:

1)使用ZonedDateTime将LocalDate转换为Instant。
2)使用from()方法从Instant对象获取Date的实例

示例:

package insping;

import java.time.LocalDate;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Date;

public class Test {

    public static void main(String[] args) {
        ZoneId zoneId = ZoneId.systemDefault();
        LocalDate localDate = LocalDate.now();
        ZonedDateTime zdt = localDate.atStartOfDay(zoneId);

        Date date = Date.from(zdt.toInstant());

        System.out.println("LocalDate = " + localDate);
        System.out.println("Date = " + date);

    }
}

结果:

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

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

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


相关推荐

  • 个人网站可以申请微信授权登录吗

    个人网站可以申请微信授权登录吗

    2021年10月25日
    57
  • idea查看激活码(在线激活)

    idea查看激活码(在线激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    281
  • WSUS Troubleshooting guide「建议收藏」

    WSUS Troubleshooting guide「建议收藏」TroubleshootingguideforissueswhereWSUSclientsarenotreportingin来自于WSUSTEAMBLOGThisguideiswrittentoassistspecificallyintroubleshootingWSUSwhenclientsarenotrepor…

    2022年5月24日
    46
  • ARM机器使用netdata监控

    ARM机器使用netdata监控ARM 机器使用 netdata 监控安装下载地址 https github com netdata netdata releases 找到对应平台的版本下载此处使用了 netdata aarch64 latest gz run 下载下来直接 shnetdata aarch64 latest gz run 进行安装 安装完成之后 可以通过在浏览器中访问 http your server ip 19999 查看 Netdata 的监控 如果不可以查看 请查看防火墙设置 查看状态 停止 重启 systemc

    2025年6月23日
    2
  • 自动化运维平台的流程草图「建议收藏」

    自动化运维平台的流程草图「建议收藏」对于平台里面的几个地方一直没大理清楚,所以想了几种办法,一种是蒙着头继续做,想到哪里做到哪里,结果做的时候发现很多东西都没有规划好,很容易从这个死胡同调入另一个死胡同,所以进度不能保证,质量不能保证。 第二个是…

    2022年5月16日
    45
  • Hibernate3.3 教程

    Hibernate3.3 教程原文链接自:http://hi.baidu.com/suny_duan/blog/item/9eb1211a4c9027158718bf10.html1.重Annotation,轻xml配置文件;Annotation分为:JPA,hibernate-extension官方网站:http://www.hibernate.org/hibernate使用的是SLF4J日志(它可以匹配各种各样的LOG,如log4j等)它的下载包中会再带一个slf4j-api-1.5.8.jar,除此之外还需要一个slf4j-nop

    2025年10月4日
    2

发表回复

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

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