From 805f8f1ce844ede137b4cf7d8e1606ff7efd6df2 Mon Sep 17 00:00:00 2001 From: aefimov Date: Fri, 15 Nov 2013 15:06:04 +0400 Subject: [PATCH] 8027848: The ZoneInfoFile doesn't honor future GMT offset changes Reviewed-by: sherman, coffeys --- src/share/classes/sun/util/calendar/ZoneInfoFile.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/share/classes/sun/util/calendar/ZoneInfoFile.java b/src/share/classes/sun/util/calendar/ZoneInfoFile.java index d3ca7e94e..4c423b703 100644 --- a/src/share/classes/sun/util/calendar/ZoneInfoFile.java +++ b/src/share/classes/sun/util/calendar/ZoneInfoFile.java @@ -406,6 +406,9 @@ public final class ZoneInfoFile { // LocalDateTime.of(2037, 1, 1, 0, 0, 0).toEpochSecond(ZoneOffset.UTC)); private static final long LDT2037 = 2114380800L; + //Current time. Used to determine future GMToffset transitions + private static final long CURRT = System.currentTimeMillis()/1000; + /* Get a ZoneInfo instance. * * @param standardTransitions the standard transitions, not null @@ -427,8 +430,10 @@ public final class ZoneInfoFile { boolean willGMTOffsetChange = false; // rawOffset, pick the last one - if (standardTransitions.length > 0) + if (standardTransitions.length > 0) { rawOffset = standardOffsets[standardOffsets.length - 1] * 1000; + willGMTOffsetChange = standardTransitions[standardTransitions.length - 1] > CURRT; + } else rawOffset = standardOffsets[0] * 1000; -- GitLab