java date to localdate


In Java, you can use the toInstant method of the Date class to convert a Date object to an Instant, and then use the atZone method of the Instant class to convert the Instant to a ZonedDateTime object. Finally, you can use the toLocalDate method of the ZonedDateTime class to convert the ZonedDateTime to a LocalDate.

Here’s an example of how you can convert a Date object to a LocalDate in Java:

import java.util.Date;
import java.time.LocalDate;
import java.time.Instant;
import java.time.ZonedDateTime;

public class Main {
  public static void main(String[] args) {
    // Create a Date object
    Date date = new Date();
    // Convert the Date to an Instant
    Instant instant = date.toInstant();
    // Convert the Instant to a ZonedDateTime
    ZonedDateTime zonedDateTime = instant.atZone(ZoneId.systemDefault());
    // Convert the ZonedDateTime to a LocalDate
    LocalDate localDate = zonedDateTime.toLocalDate();
    System.out.println(localDate);  // Outputs something like "2022-07-03"

This code will convert a Date object to a LocalDate object, which represents a date (year, month, and day) without a time.

Note that the Date class is part of the legacy java.util package