En este tutorial veremos cómo convertir Date a LocalDate. La java.util.Date
representa la fecha, la hora del día en la zona horaria UTC y java.time.LocalDate
representa solo la fecha, sin hora ni zona horaria.
java.util.Date - date + time of the day + UTC time zone java.time.LocalDate - only date
Con estos puntos en mente, podemos convertir la fecha a Local en los siguientes pasos:
1. Convierta la fecha en instantánea, porque no queremos la hora en LocalDate
2. Obtenga la zona horaria predeterminada, porque no hay zona horaria en LocalDate
3. Convierta la fecha en fecha local – Instantáneo + zona horaria predeterminada + toLocalDate () = LocalDate
Conversión de fecha a fecha local
import java.time.LocalDate; import java.time.Instant; import java.time.ZoneId; import java.util.Date; public class Example { public static void main(String[] args) { //Getting the current date Date date = new Date(); System.out.println("Date is: "+date); //Getting the default zone id ZoneId defaultZoneId = ZoneId.systemDefault(); //Converting the date to Instant Instant instant = date.toInstant(); //Converting the Date to LocalDate LocalDate localDate = instant.atZone(defaultZoneId).toLocalDate(); System.out.println("Local Date is: "+localDate); } }
Producción:
Date is: Sun Oct 22 21:33:46 IST 2017 Local Date is: 2017-10-22