Java tutorial
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 usChicago = ZoneId.of("America/Chicago"); // 2014-03-09T02:30 did not exist in America/Chicago time zone LocalDateTime ldt = LocalDateTime.of(2014, Month.MARCH, 9, 2, 30); ZonedDateTime zdt = ZonedDateTime.of(ldt, usChicago); System.out.println(zdt); // 2013-10-03T01:30 existed twice in America/Chicago time zone LocalDateTime ldt2 = LocalDateTime.of(2013, Month.NOVEMBER, 3, 1, 30); ZonedDateTime zdt2 = ZonedDateTime.of(ldt2, usChicago); System.out.println(zdt2.withEarlierOffsetAtOverlap()); System.out.println(zdt2.withLaterOffsetAtOverlap()); } }