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)
上一篇 2022年10月3日 上午10:00
下一篇 2022年10月3日 上午10:16


相关推荐

  • FVWM简明使用指南

    FVWM简明使用指南http://minus273.eu/mirrors/2001315450/fvwm_frame.html简明使用指南FvwmisawindowmanagerforX11.Itisdesignedtominimizememoryconsumption,providea3Dlooktowindowframes,andavirtual

    2022年10月4日
    6
  • Linux安装vim命令

    Linux安装vim命令最近在Linux上使用vim编辑器编写shell脚本的时候,遇到了这样一个问题,如下:-bash:vim:commandnotfound这是因为vim命令没有安装,于是我从网上搜索了很多关于安装vim命令的教程,不过大都比较繁琐,如今介绍一种简单的方法,大家可以试一下。首先,执行如下命令进行查询:rpm-qa|grepv…

    2025年8月11日
    4
  • strut2 自己定义文件上传错误信息

    strut2 自己定义文件上传错误信息

    2021年12月2日
    50
  • 什么是pisa测试_PISA测试背后:哪些学校代表中国考第一

    什么是pisa测试_PISA测试背后:哪些学校代表中国考第一《21世纪经济报道》12月13日消息,在北京金融行业工作的王鑫如,去年女儿出生后就开始规划送她去哪里接受教育,留在北京,还是随着一个工作机会去香港,或者全家移民国外?她说,将来女儿读大学很大可能会去国外,但基础教育阶段有没有必要出去?中国的基础教育竞争力到底强不强?大学有各种国际排行榜单,不同国家的中小学质量要如何对比?12月3日公布的第七轮国际学生评估结果(ProgrammeforInter…

    2022年6月6日
    35
  • 读懂蛋白质PDB文件

    读懂蛋白质PDB文件对于从事生物行业的朋友们来说,PDB文件和蛋白质结构是很多人绕不过去的问题。然而对于天天跑电泳过柱子的生物狗来说,PDB文件打开后与天书无异。这里,我转载一篇网上看到的关于PDB文件内记号说明的文章,希望对大家有用!教你读懂蛋白质的PDB文件&n…

    2022年6月2日
    159
  • goland2021.4激活码_通用破解码

    goland2021.4激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    377

发表回复

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

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