文
章
目
录
章
目
录
学习如何在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相互转换的全部内容。