localdate转date时区问题_Date和LocalDate互转「建议收藏」

localdate转date时区问题_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。

示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21package 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的实例

示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22package 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/186241.html原文链接:https://javaforall.net

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


相关推荐

  • java.lang.NullPointerException出现的几种原因以及解决

    java.lang.NullPointerException出现的几种原因以及解决java.lang.NullPointerException出现的几种原因:1、字符串变量未初始化2、接口类型的对象没有用具体的类初始化,比如:Mapmap//会报错Mapmap=newMap();//则不会报错了3、当一个对象的值为空时,你没有判断为空的情况。4、字符串与文字的比较,文字可以是一个字符串或Enum的元素,如下会出现异常Stringstr…

    2022年5月20日
    45
  • mysql主从同步配置读写分离_mysql8做主从数据库

    mysql主从同步配置读写分离_mysql8做主从数据库目录前言1分别在两台centos7系统上安装mysql5.72master主服务器的配置2.1配置文件my.cnf的修改2.2创建从服务器的用户和权限2.3重启mysql服务2.4查看主服务器状态3slave从服务器的配置3.1配置文件my.cnf的修改3.2重启mysql服务3.3连接master主服务器3.4启动slav…

    2022年10月15日
    2
  • java工厂类理解

    java工厂类理解

    2021年7月16日
    70
  • python中的if语句怎么用_iserror函数的使用方法

    python中的if语句怎么用_iserror函数的使用方法if语句用来表示某种可能的情况,并如何处理该情况。if语句可以用来表示一种可能性、两种可能性或者多种可能性。1一种可能性单个的if语句表示一种可能性,if关键字后面跟着表达式,当表达式是True时,表示这种情况发生了,则执行指定的语句,即处理该情况,如图1所示。图1单个if语句的使用其中,图1①使用input()函数接收用户输入的数值,将其转换成int类型并保存在变量中;图1②通过if语句对变量x进行判断,如果x的值大于0,则输出“您输入的是一个非负数”这个信息(图1③)。需要注意.

    2022年9月26日
    2
  • gmail邮箱无法发送邮件_gmail发不出邮件怎么办

    gmail邮箱无法发送邮件_gmail发不出邮件怎么办  最近一直在做邮箱功能。刚刚发现了一个问题,记录一下。  我在我做的邮箱系统中绑定了163邮箱,然后给我的gmail邮箱发邮件,gmail没有收到邮件。这时,心里大惊,我靠,不会是我系统出bug了吧!!用QQ邮箱发一遍,gmail收到了。这时更加慌张了,心想应该是我的系统bug了。然后用163官网发一遍,嗯~~完美,没收到。这证明不是我系统的问题。  刚才百度了一下这个问题,有个回答…

    2025年11月6日
    0
  • iis的安装及web服务器配置_药物配置流程

    iis的安装及web服务器配置_药物配置流程 今天在学习ASP.NET网站部署、打包与安装时,先按书上的流程安装了IIS,打开IIS才发现,里面没有ASP.NET,所以为IIS配置ASP,NET又搞了好一阵。没办法,小编是一只没经验的菜鸟,没大佬们那种手速。好啦,现在来分享一下,希望对遇到同样问题的博友有帮助。   (一)IIS的安装过程: (1)在开始栏输入控制面板,打开“控制面板”,点击”程序和功能“ (…

    2025年5月25日
    2

发表回复

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

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