在 Java 8 中将 LocalDate 和 LocalDateTime相互转换

LocalDateTime 缺少时区信息。

LocalDateTime = LocalDate + 时间信息

on  It Road.com

Java 将 LocalDateTime 转换为 LocalDate

要将 LocalDateTime 转换为 LocalDate 实例,请使用 toLocalDate() 方法。
它返回一个与给定日期时间相同的年、月和日的LocalDate

import java.time.LocalDate;
import java.time.LocalDateTime;
public class Main {
    public static void main(String[] args) {
        LocalDateTime localDateTime = LocalDateTime.now();

        LocalDate localDate = localDateTime.toLocalDate();

        System.out.println(localDate);
    }
}

输出:

2019-04-01

将 LocalDate 转换为 LocalDateTime

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

  • 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,该时间从给定日期的午夜00:00 开始形成。

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

  • hour - 要使用的小时,从 0 到 23
  • minute - 要使用的分钟,从 0 到 59
  • second - 代表的秒数,从 0 到 59
  • nanoOfSecond - 要表示的纳秒,从 0 到 999,999,999

Java 示例

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
public class Main {
    public static void main(String[] args) 
    {
        LocalDate 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);
    }
}

输出:

2019-01-04T00:00
2019-01-04T18:31:21.936
2019-01-04T04:30:56
日期:2020-09-17 00:09:42 来源:oir作者:oir