aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraefimov <none@none>2013-11-15 15:06:04 +0400
committeraefimov <none@none>2013-11-15 15:06:04 +0400
commit05cb302e92aef1f32cdefeafc067abab036bfa22 (patch)
tree1fdbd780e8cc82c6924852d12cedf592ea8c8fa2
parent8b563d98a272b5ffa5130c93927938187c3b20e5 (diff)
8027848: The ZoneInfoFile doesn't honor future GMT offset changes
Reviewed-by: sherman, coffeys
-rw-r--r--src/share/classes/sun/util/calendar/ZoneInfoFile.java7
1 files changed, 6 insertions, 1 deletions
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;