import java.time.*;
import java.time.zone.*;
import java.util.*;

class DSTTest
{
  public static void main(String[] args)
  {
	test(ZoneId.of("America/New_York"));
	test(ZoneId.of("America/Los_Angeles"));
	test(ZoneId.of("Europe/Amsterdam"));
	test(ZoneId.of("Europe/London"));
  }
  
  public static void test(ZoneId z)
  {
        System.out.println("Result for "+z);
        final ZoneRules zr = z.getRules();
        final TimeZone tz = TimeZone.getTimeZone(z);
        final Instant summer = ZonedDateTime.of(2018, 5, 1, 2, 2, 2, 2, z).toInstant();
        final Instant winter = ZonedDateTime.of(2018, 12, 1, 2, 2, 2, 2, z).toInstant();
        System.out.println("ZoneRules winter: " + zr.isDaylightSavings(winter));
        System.out.println("ZoneRules summer: " + zr.isDaylightSavings(summer));
        System.out.println("TimeZone winter: " + tz.inDaylightTime(Date.from(winter)));
        System.out.println("TimeZone summer:" + tz.inDaylightTime(Date.from(summer)));
        System.out.println();
  }
}
