From 232d2d8e81a8f08b1008de8c78cc1818d193a6cf Mon Sep 17 00:00:00 2001 From: Holger Steinhauer Date: Sun, 19 Nov 2017 18:08:35 +0000 Subject: [PATCH] BAEL-1317: Display All Time Zones With GMT and UTC --- .../timezonedisplay/TimezoneDisplay.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/core-java-8/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java b/core-java-8/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java index 296f8b82f8..ff618c8eea 100644 --- a/core-java-8/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java +++ b/core-java-8/src/main/java/com/baeldung/timezonedisplay/TimezoneDisplay.java @@ -1,13 +1,11 @@ package com.baeldung.timezonedisplay; -import sun.util.calendar.ZoneInfo; - import java.time.LocalDateTime; import java.time.ZoneId; +import java.time.ZoneOffset; import java.util.Comparator; import java.util.List; import java.util.Set; -import java.util.TimeZone; import java.util.stream.Collectors; public class TimezoneDisplay { @@ -40,10 +38,17 @@ public class TimezoneDisplay { @Override public int compare(ZoneId zoneId1, ZoneId zoneId2) { - TimeZone tz1 = ZoneInfo.getTimeZone(zoneId1); - TimeZone tz2 = ZoneInfo.getTimeZone(zoneId2); + LocalDateTime now = LocalDateTime.now(); - return Integer.compare(tz1.getRawOffset(), tz2.getRawOffset()); + ZoneOffset offset1 = now + .atZone(zoneId1) + .getOffset(); + + ZoneOffset offset2 = now + .atZone(zoneId2) + .getOffset(); + + return offset1.compareTo(offset2); } }