src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java
Print this page
*** 613,630 ****
// Asia/Hebron
// ZoneInfo : startDayOfWeek=5 <= Thursday
// startTime=86400000 <= 24 hours
// This: startDayOfWeek=6
// startTime=0
! // Below is the workaround, it probably slows down everyone a little
if (params[2] == 6 && params[3] == 0 &&
(zoneId.equals("Asia/Amman") ||
zoneId.equals("Asia/Gaza") ||
zoneId.equals("Asia/Hebron"))) {
params[2] = 5;
params[3] = 86400000;
}
} else if (nTrans > 0) { // only do this if there is something in table already
if (lastyear < LASTYEAR) {
// ZoneInfo has an ending entry for 2037
//long trans = OffsetDateTime.of(LASTYEAR, 1, 1, 0, 0, 0, 0,
// ZoneOffset.ofTotalSeconds(rawOffset/1000))
--- 613,639 ----
// Asia/Hebron
// ZoneInfo : startDayOfWeek=5 <= Thursday
// startTime=86400000 <= 24 hours
// This: startDayOfWeek=6
// startTime=0
! // Similar workaround needs to be applied to Africa/Cairo and
! // its endDayOfWeek and endTime
! // Below is the workarounds, it probably slows down everyone a little
if (params[2] == 6 && params[3] == 0 &&
(zoneId.equals("Asia/Amman") ||
zoneId.equals("Asia/Gaza") ||
zoneId.equals("Asia/Hebron"))) {
params[2] = 5;
params[3] = 86400000;
}
+ //endDayOfWeek and endTime workaround
+ if (params[7] == 6 && params[8] == 0 &&
+ (zoneId.equals("Africa/Cairo"))) {
+ params[7] = 5;
+ params[8] = 86400000;
+ }
+
} else if (nTrans > 0) { // only do this if there is something in table already
if (lastyear < LASTYEAR) {
// ZoneInfo has an ending entry for 2037
//long trans = OffsetDateTime.of(LASTYEAR, 1, 1, 0, 0, 0, 0,
// ZoneOffset.ofTotalSeconds(rawOffset/1000))