In this post we’ll see Java programs to convert Date to LocalDate, Date to LocalTime and Date to LocalDateTime.
The java.util.Date represents date and time in coordinated universal time (UTC). In the new Date and Time API available from Java 8 there are the following three classes for representing date and time.
- LocalDate represents a date without a time-zone.
- LocalTime represents a time without a time-zone.
- LocalDateTime represents a date-time without a time-zone.
Converting Date to LocalDate, LocalTime, LocalDateTime
Steps to convert Date to LocalDate, LocalTime or LocalDateTime are as follows.
- Since java.util.Date class represents a specific instant in time so first thing is to convert it to java.time.Instant.
- Using
atZone(ZoneId zone)
method of the Instant class you can combine this instant with a time-zone to create a ZonedDateTime. - Once you have a ZonedDateTime instance, using
toLocalDate()
,toLocalTime()
,toLocalDateTime()
methods you can get the LocalDate, LocalTime, LocalDateTime respectively.
import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZoneId; import java.time.ZonedDateTime; import java.util.Date; public class ConvertDate { public static void main(String[] args) { Date date = new Date(); System.out.println("Date- " + date); //Convert Date to Instant Instant instant = date.toInstant(); //Combine with time-zone ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault()); //ZonedDateTime System.out.println("ZonedDateTime- " + zdt); //Get the localdate part LocalDate ld = zdt.toLocalDate(); System.out.println("LocalDate- " + ld); //Get the LocalTime LocalTime lt = date.toInstant().atZone(ZoneId.systemDefault()).toLocalTime(); System.out.println("LocalTime- " + lt); //Get the LocalDateTime LocalDateTime ldt = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); System.out.println("LocalDateTime- " + ldt); } }Output
Date- Sat Nov 02 19:11:31 IST 2019 ZonedDateTime- 2019-11-02T19:11:31.832+05:30[Asia/Calcutta] LocalDate- 2019-11-02 LocalTime- 19:11:31.832 LocalDateTime- 2019-11-02T19:11:31.832
That's all for the topic Java Program to Convert Date to LocalDate, LocalDateTime. If something is missing or you have something to share about the topic please write a comment.
You may also like
- Convert LocalDate to Date in Java
- ZonedDateTime in Java With Examples
- Java Program to Count Number of Words in a String
- Reverse an Array In-place Java Program
- Java Stream skip() Method With Examples
- Java ConcurrentSkipListSet With Examples
- Exchanger in Java With Examples
- Java Stream Collectors.joining() Method With Examples
No comments:
Post a Comment