Java: Como converter LocalDate e LocalDateTime em Date e vice-versa
Este post demostra como converter java.time.LocalDate
e java.time.LocalDateTime
em java.util.Date
e vice-versa.
LocalDate para Date
O código abaixo mostra como converter java.time.LocalDate
em java.util.Date
e de volta para java.time.LocalDate
.
package br.com.dicasdejava.util;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
public class ConverterLocalDateParaDate {
public static void main(String[] args) {
LocalDate localDate = LocalDate.of(2018, 6, 28);
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);
}
}
Saída:
LocalDate = 2018-06-28
Date = Thu Jun 28 00:00:00 BRT 2018
LocalDate = 2018-06-28
LocalDateTime para Date
Agora o código que mostra a conversão de java.time.LocalDateTime
em java.util.Date
e de volta para java.time.LocalDateTime
.
package br.com.dicasdejava.util;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
public class ConverterLocalDateTimeParaDate {
public static void main(String[] args) {
LocalDateTime localDate = LocalDateTime.of(2018, 6, 28, 19, 18);
System.out.println("LocalDateTime = " + localDate);
Date date1 = Date.from(localDate.atZone(ZoneId.systemDefault()).toInstant());
System.out.println("Date = " + date1);
localDate = date1.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
System.out.println("LocalDate = " + localDate);
}
}
Saída:
LocalDateTime = 2018-06-28T19:18
Date = Thu Jun 28 19:18:00 BRT 2018
LocalDateTime = 2018-06-28T19:18
Referências: