Java Data Type How to - Convert old date/calendar/timezone classes to new Java 8 Classes








Question

We would like to know how to convert old date/calendar/timezone classes to new Java 8 Classes.

Answer

import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/*from  w w  w . j a v a 2s  .  c  o  m*/
public class Main {
  public static void main(String[] argv) {

    Instant instantFromDate = new Date().toInstant();
    
    Instant instantFromCalendar = Calendar.getInstance().toInstant();
    System.out.println(instantFromCalendar);
    
    ZoneId zoneId = java.util.TimeZone.getDefault().toZoneId();
    System.out.println(zoneId);
    
    ZonedDateTime zonedDateTimeFromGregorianCalendar = new GregorianCalendar()
        .toZonedDateTime();

    System.out.println(zonedDateTimeFromGregorianCalendar);
  }
}

The code above generates the following result.