The following code snippet demonstrate how to convert java.time.LocalDate
to java.util.Date
and vice versa. In the first part of the code snippet we convert LocalDate
to Date
and back to LocalDate
object. On the second part we convert LocalDateTime
to Date
and back to LocalDateTime
object.
package org.kodejava.datetime;
import java.time.*;
import java.util.Date;
public class LocalDateToDate {
public static void main(String[] args) {
// Convert java.time.LocalDate to java.util.Date and back to
// java.time.LocalDate
LocalDate localDate = LocalDate.now();
System.out.println("LocalDate = " + localDate);
Date date1 = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
System.out.println("Date = " + date1);
localDate = date1.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
System.out.println("LocalDate = " + localDate);
System.out.println();
// Convert java.time.LocalDateTime to java.util.Date and back to
// java.time.LocalDateTime
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println("LocalDateTime = " + localDateTime);
Date date2 = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
System.out.println("Date = " + date2);
localDateTime = date2.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
System.out.println("LocalDateTime = " + localDateTime);
}
}
The result of the code snippet:
LocalDate = 2021-11-20
Date = Sat Nov 20 00:00:00 CST 2021
LocalDate = 2021-11-20
LocalDateTime = 2021-11-20T18:25:05.706380200
Date = Sat Nov 20 18:25:05 CST 2021
LocalDateTime = 2021-11-20T18:25:05.706
Latest posts by Wayan (see all)
- How do I create a string of repeated characters? - September 1, 2023
- How do I convert datetime string with optional part to a date object? - August 28, 2023
- How do I split large excel file into multiple smaller files? - April 15, 2023
This method does not work for dates before April 1893. A simple test
with the actual value of
1893-06-01
on my machine.My fault: must be
MM
instead ofmm
.