Java - Date Time Zoned Datetime

Introduction

ZonedDateTime class represents a datetime with time zone rules.

The time zone rules include a zone offset and rules for its variation because of Daylight Saving Time.

The relationships between a ZonedDateTime and a LocalDateTime can be represented as

ZonedDateTime = LocalDateTime + ZoneId

The following is an example of creating a ZonedDateTime from a LocalDateTime:

Demo

import java.time.LocalDateTime;
import java.time.Month;
import java.time.ZoneId;
import java.time.ZonedDateTime;

public class Main {
  public static void main(String[] args) {
    ZoneId usCentral = ZoneId.of("America/Chicago");
    LocalDateTime ldt = LocalDateTime.of(2012, Month.MAY, 11, 7, 30);
    ZonedDateTime zdt = ZonedDateTime.of(ldt, usCentral);
    System.out.println(zdt);//  w  w w.  j  a va2 s . c  o  m
  }
}

Result

If the local datetime falls in the middle of the gap, the time is moved forward by the same amount as the gap.

If the local datetime falls in the middle of the overlap, the time is valid.

Related Topics