Java 8如何实现LocalDate和LocalDateTime相互转换

后端 潘老师 6个月前 (10-31) 285 ℃ (0) 扫码查看

学习如何在Java 8中从LocalDate转换为LocalDateTime,以及从LocalDateTime转换为LocalDate。

重申一下,LocalDate表示一个没有时间和时区的日历日期。 LocalDateTime在本地时间线中存储日期和时间信息。它没有任何时区信息。

LocalDateTime = LocalDate + LocalTime

1.LocalDate 如何转为 LocalDateTime

要将LocalDate实例转换为LocalDateTime实例,我们只需添加其中的时间部分。为此,我们可以使用LocalDate类中给出的5种方法中的任何一种。

  • LocalDateTime atStartOfDay()
  • LocalDateTime atTime(LocalTime time)
  • LocalDateTime atTime(int hour, int minutes)
  • LocalDateTime atTime(int hour, int minutes, int seconds)
  • LocalDateTime atTime(int hour, int minute, int second, int nanoOfSecond)

atStartOfDay() 方法返回一个 LocalDateTime,该 LocalDateTime 由给定日期+ 00:00 组成。

对于所有其他方法,我们在方法参数中提供了具体时间。

  • hour – 要使用的日时,从 0 到 23
  • minute – 要使用的分钟数,从 0 到 59
  • second – 表示从 0 到 59 的第二分钟
  • nanoOfSecond – 表示纳秒,从 0 到 999,999,999

Java程序将LocalDate实例转换为LocalDateTime实例。

Java example to convert LocalDate to LocalDateTimeLocalDate localDate = LocalDate.parse("2019-01-04");
//一天的开始时间
LocalDateTime localDateTime1 = localDate.atStartOfDay();
System.out.println(localDateTime1);
//当前时间
LocalDateTime localDateTime2 = localDate.atTime(LocalTime.now());
System.out.println(localDateTime2);
//指定时间
LocalDateTime localDateTime3 = localDate.atTime(04, 30, 56);
System.out.println(localDateTime3);

程序输出。

2023-01-04T00:00
2023-01-04T18:31:21.936
2023-01-04T04:30:56

2. LocalDateTime 如何转为 LocalDate

要将 LocalDateTime 转换为 LocalDate 实例,请使用 toLocalDate() 方法。它返回一个 LocalDate,其年、月和日与原始的 localdatetime 对象相同。

LocalDateTime localDateTime = LocalDateTime.now();

LocalDate localDate = localDateTime.toLocalDate();

System.out.println(localDate);//2023-10-31

以上就是Java 8如何实现LocalDate和Local相互转换的全部内容。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/back/10531.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】