Java: преобразование даты в LocalDate – методы и примеры

Чтобы преобразовать объект java.util.Dateв объект java.time.LocalDate, вы можете использовать следующие методы:

Метод 1: использование Instant и ZoneId

import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
public class DateToLocalDateExample {
    public static void main(String[] args) {
        Date date = new Date();
        Instant instant = date.toInstant();
        LocalDate localDate = instant.atZone(ZoneId.systemDefault()).toLocalDate();
        System.out.println(localDate);
    }
}

Метод 2: использование LocalDateTime и ZoneId

import java.time.LocalDateTime;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
public class DateToLocalDateExample {
    public static void main(String[] args) {
        Date date = new Date();
        LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
        LocalDate localDate = localDateTime.toLocalDate();
        System.out.println(localDate);
    }
}

Метод 3. Использование календаря

import java.util.Calendar;
import java.util.Date;
import java.time.LocalDate;
import java.time.ZoneId;
public class DateToLocalDateExample {
    public static void main(String[] args) {
        Date date = new Date();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        LocalDate localDate = LocalDate.ofInstant(calendar.toInstant(), ZoneId.systemDefault());
        System.out.println(localDate);
    }
}

В приведенных выше примерах мы сначала создаем объект java.util.Date, представляющий желаемую дату. Затем мы используем разные подходы для преобразования его в объект java.time.LocalDate.