- How to convert Date to Instant
- How to convert Date to LocalDate
- How to convert Date to LocalTime
- How to convert Date to LocalDateTime
- How to convert Date to ZonedDateTime
Example
package com.melody.datetime;
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 ConvertDateToJava8Date {
public static void main(String[] args) {
// Date has no timezone
Date date = new Date();
// I did not use toString() because it will automatically
// format the date with the system default timezone
System.out.println("Date: " + date.toGMTString());
// Convert Date to Instant.
// Instant is the equivalent of Date in Java 8 Date API.
Instant instant = date.toInstant();
System.out.println("Instant: " + instant);
ZoneId defaultTimeZone = ZoneId.systemDefault();
// Convert Instant to LocalDate (using the system default timezone)
LocalDate localDate = instant.atZone(defaultTimeZone).toLocalDate();
System.out.println("LocalDate: " + localDate);
// Convert Instant to LocalTime (using the system default timezone)
LocalTime localTime = instant.atZone(defaultTimeZone).toLocalTime();
System.out.println("LocalTime: " + localTime);
// Convert Instant to LocalDateTime (using the system default timezone)
LocalDateTime localDateTime = instant.atZone(defaultTimeZone).toLocalDateTime();
System.out.println("LocalDateTime: " + localDateTime);
// Convert Instant to ZonedDateTime (using the system default timezone)
ZonedDateTime zonedDateTime = instant.atZone(defaultTimeZone);
System.out.println("ZonedDateTime: " + zonedDateTime);
}
}
Output
Date: 5 Jun 2017 09:01:52 GMT
Instant: 2017-06-05T09:01:52.527Z
LocalDate: 2017-06-05
LocalTime: 17:01:52.527
LocalDateTime: 2017-06-05T17:01:52.527
ZonedDateTime: 2017-06-05T17:01:52.527+08:00[Asia/Shanghai]
Date: 5 Jun 2017 09:01:52 GMT
Instant: 2017-06-05T09:01:52.527Z
LocalDate: 2017-06-05
LocalTime: 17:01:52.527
LocalDateTime: 2017-06-05T17:01:52.527
ZonedDateTime: 2017-06-05T17:01:52.527+08:00[Asia/Shanghai]