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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PyTorch 学习笔记(九):自动编码器(AutoEncoder)「建议收藏」

    PyTorch 学习笔记(九):自动编码器(AutoEncoder)「建议收藏」一.生成模型生成模型(GenerativeModel)这一概念属于概率统计与机器学习,是指一系列用于随机生成可观测预测数据得模型。简而言之,就是“生成”的样本和“真实”的样本尽可能地相似。生成模型的两个主要功能就是学习一个概率分布Pmodel(X)P_{model}(X)Pmodel​(X)和生成数据,这是非常重要的,不仅可以用在无监督学习中,还可以用在监督学习中。无监督学习的发展…

    2022年6月10日
  • 钓鱼网站盗QQ_qq看别人的空间一定会被别人知道吗

    钓鱼网站盗QQ_qq看别人的空间一定会被别人知道吗刚刚打开手机tim看到QQ空间有留言下面一个截图的东西(别扫进去输自己的账号密码哈,看看就得了,典型的钓鱼网站)貌似在前几年就有此类网站,不过现在高级了些,下面就由图图来分析一下原理是什么鬼(毫无技术含量)大神快点绕道!!!首先看到这个图片而写是熟人给你留言的,并且还是以好友备注的名字进行留言“XXX,我们合影的照片都在这里了你太好笑了照片呆呆的,长摁识别”会有这么一句话,好奇心强的都会点进去看~【为什么要搞这种二维码呢?就是为了不让一些在线解码的网站轻易识别反而只有QQ、微信可…

    2022年8月24日
  • 数据库资料「建议收藏」

    数据库资料「建议收藏」学习数据库的时候发现了比较好的资料,在这里分享一下:https://www.bilibili.com/video/av29219646  视频https://zhangjia.tv/682.html              文档…

    2022年9月12日
  • spring c3p0连接池配置 com.mchange.v2.c3p0.combopooleddatasource

    spring c3p0连接池配置 com.mchange.v2.c3p0.combopooleddatasource3    30    1000    false    Test

    2022年6月8日
  • java cloneable_java.lang.Cloneable的理解「建议收藏」

    java cloneable_java.lang.Cloneable的理解「建议收藏」以前也用过这个接口,那时是直接所有的东西都自己写了,也没发现问题。最近无意间发现这个接口的实现并不是想象中的那样,所以稍微研究了下,给大家分享一下。步骤:1、建立两个简单的POJO:Teacher和Student2、Teacher类实现了Cloneable接口,重写clone方法3、在main方法中建立teacher,然后clone,比较teacher和clone出来的teacherTeacher…

    2022年10月14日
  • React saga_react获取子组件ref

    React saga_react获取子组件ref前言React的作用View层次的前端框架,自然少不了很多中间件(ReduxMiddleware)做数据处理,而redux-saga就是其中之一,目前这个中间件在网上的资料还是比较少,估计应用的不是很广泛,但是如果使用得当,将会事半功倍的效果,下面仔细介绍一个这个中间件的具体使用流程和应用场景。redux-saga简介Redux-saga是Redux的一个中间件,主要集中处理rea…

    2022年9月2日

发表回复

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

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