将 yyyy-mm-dd 转换为 yyyy-mm-dd HH:mm:ss.SSS

Convert yyyy-mm-dd to yyyy-mm-dd HH:mm:ss.SSS

我有一个场景,我的输入日期格式是 yyyy-MM-dd 并且要求的输出日期格式必须是 Java 8 或更高版本中的 yyyy-MM-dd HH:mm:ss.SSS。 示例:

输入:2022-03-15 预期 O/P :2022-03-15 12:00:00.000

yyyy-MM-dd 实际上是一个 LocalDate。您要做的是将其转换为 LocalDateTime.

来自howtodoinjava.com

您可以将时间设置为 00:00

LocalDate localDate = LocalDate.parse("2019-01-04");

//Beginning of the day
LocalDateTime localDateTime1 = localDate.atStartOfDay();
System.out.println(localDateTime1);

使用当前时间

//Current time
LocalDateTime localDateTime2 = localDate.atTime(LocalTime.now());
System.out.println(localDateTime2);

或添加 12:00:0

//Specific time
LocalDateTime localDateTime3 = localDate.atTime(12, 12, 0);
System.out.println(localDateTime3);

请注意,您始终需要第一行代码

LocalDate localDate = LocalDate.parse("2019-01-04");

要以特定方式格式化您的 LocalDateTime,请使用 DateTimeFormatter。例如:

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss.SSS");
String formattedDate = localDateTime1.format(dtf);

您可以使用以下函数实现:

LocalTime myTime = LocalTime.parse("12:00:12.000");    
LocalDateTime myDateTime = LocalDateTime.of(myInputDate, myTime);

myDateTime将输出:2022-03-15T12:00:12