fork(2) download
  1. import java.time.*;
  2. import java.time.zone.*;
  3. import java.util.*;
  4.  
  5. class DSTTest
  6. {
  7. public static void main(String[] args)
  8. {
  9. test(ZoneId.of("America/New_York"));
  10. test(ZoneId.of("America/Los_Angeles"));
  11. test(ZoneId.of("Europe/Amsterdam"));
  12. test(ZoneId.of("Europe/London"));
  13. }
  14.  
  15. public static void test(ZoneId z)
  16. {
  17. System.out.println("Result for "+z);
  18. final ZoneRules zr = z.getRules();
  19. final TimeZone tz = TimeZone.getTimeZone(z);
  20. final Instant summer = ZonedDateTime.of(2018, 5, 1, 2, 2, 2, 2, z).toInstant();
  21. final Instant winter = ZonedDateTime.of(2018, 12, 1, 2, 2, 2, 2, z).toInstant();
  22. System.out.println("ZoneRules winter: " + zr.isDaylightSavings(winter));
  23. System.out.println("ZoneRules summer: " + zr.isDaylightSavings(summer));
  24. System.out.println("TimeZone winter: " + tz.inDaylightTime(Date.from(winter)));
  25. System.out.println("TimeZone summer:" + tz.inDaylightTime(Date.from(summer)));
  26. System.out.println();
  27. }
  28. }
  29.  
Success #stdin #stdout 0.26s 36316KB
stdin
Standard input is empty
stdout
Result for America/New_York
ZoneRules winter: false
ZoneRules summer: true
TimeZone winter: false
TimeZone summer:true

Result for America/Los_Angeles
ZoneRules winter: false
ZoneRules summer: true
TimeZone winter: false
TimeZone summer:true

Result for Europe/Amsterdam
ZoneRules winter: false
ZoneRules summer: true
TimeZone winter: false
TimeZone summer:true

Result for Europe/London
ZoneRules winter: false
ZoneRules summer: true
TimeZone winter: false
TimeZone summer:true