1
1
/*
2
- * Copyright (c) 1998, 2023 , Oracle and/or its affiliates. All rights reserved.
2
+ * Copyright (c) 1998, 2025 , Oracle and/or its affiliates. All rights reserved.
3
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
4
*
5
5
* This code is free software; you can redistribute it and/or modify it
30
30
* 4174361 4177484 4197699 4209071 4288792 4328747 4413980 4546637 4623997
31
31
* 4685354 4655637 4683492 4080631 4080631 4167995 4340146 4639407
32
32
* 4652815 4652830 4740554 4936355 4738710 4633646 4846659 4822110 4960642
33
- * 4973919 4980088 4965624 5013094 5006864 8152077
33
+ * 4973919 4980088 4965624 5013094 5006864 8152077 8347841
34
34
* @library /java/text/testlib
35
35
* @run junit CalendarRegression
36
36
*/
42
42
import java .text .DateFormat ;
43
43
import java .text .NumberFormat ;
44
44
import java .text .SimpleDateFormat ;
45
+ import java .time .ZoneId ;
46
+ import java .util .Arrays ;
45
47
import java .util .Calendar ;
46
48
import java .util .Date ;
47
49
import java .util .GregorianCalendar ;
50
52
import java .util .Map ;
51
53
import java .util .SimpleTimeZone ;
52
54
import java .util .TimeZone ;
55
+ import java .util .function .Predicate ;
53
56
54
57
import static java .util .Calendar .*;
55
58
@@ -75,7 +78,9 @@ public class CalendarRegression {
75
78
public void Test4031502 () {
76
79
// This bug actually occurs on Windows NT as well, and doesn't
77
80
// require the host zone to be set; it can be set in Java.
78
- String [] ids = TimeZone .getAvailableIDs ();
81
+ String [] ids = Arrays .stream (TimeZone .getAvailableIDs ())
82
+ .filter (Predicate .not (ZoneId .SHORT_IDS ::containsKey ))
83
+ .toArray (String []::new );
79
84
boolean bad = false ;
80
85
for (int i = 0 ; i < ids .length ; ++i ) {
81
86
TimeZone zone = TimeZone .getTimeZone (ids [i ]);
@@ -489,7 +494,7 @@ public void Test4095407() {
489
494
@ Test
490
495
public void Test4096231 () {
491
496
TimeZone GMT = TimeZone .getTimeZone ("GMT" );
492
- TimeZone PST = TimeZone .getTimeZone ("PST " );
497
+ TimeZone PST = TimeZone .getTimeZone ("America/Los_Angeles " );
493
498
int sec = 0 , min = 0 , hr = 0 , day = 1 , month = 10 , year = 1997 ;
494
499
495
500
Calendar cal1 = new GregorianCalendar (PST );
@@ -838,7 +843,7 @@ public void Test4114578() {
838
843
TimeZone saveZone = TimeZone .getDefault ();
839
844
boolean fail = false ;
840
845
try {
841
- TimeZone .setDefault (TimeZone .getTimeZone ("PST " ));
846
+ TimeZone .setDefault (TimeZone .getTimeZone ("America/Los_Angeles " ));
842
847
Calendar cal = Calendar .getInstance ();
843
848
long onset = new Date (98 , APRIL , 5 , 1 , 0 ).getTime () + ONE_HOUR ;
844
849
long cease = new Date (98 , OCTOBER , 25 , 0 , 0 ).getTime () + 2 * ONE_HOUR ;
@@ -1163,8 +1168,8 @@ public void Test4147269() {
1163
1168
@ Test
1164
1169
public void Test4149677 () {
1165
1170
TimeZone [] zones = {TimeZone .getTimeZone ("GMT" ),
1166
- TimeZone .getTimeZone ("PST " ),
1167
- TimeZone .getTimeZone ("EAT " )};
1171
+ TimeZone .getTimeZone ("America/Los_Angeles " ),
1172
+ TimeZone .getTimeZone ("Africa/Addis_Ababa " )};
1168
1173
for (int i = 0 ; i < zones .length ; ++i ) {
1169
1174
GregorianCalendar calendar = new GregorianCalendar (zones [i ]);
1170
1175
@@ -1197,7 +1202,7 @@ public void Test4149677() {
1197
1202
@ Test
1198
1203
public void Test4162587 () {
1199
1204
TimeZone savedTz = TimeZone .getDefault ();
1200
- TimeZone tz = TimeZone .getTimeZone ("PST " );
1205
+ TimeZone tz = TimeZone .getTimeZone ("America/Los_Angeles " );
1201
1206
TimeZone .setDefault (tz );
1202
1207
GregorianCalendar cal = new GregorianCalendar (tz );
1203
1208
Date d ;
@@ -1511,8 +1516,8 @@ public void Test4174361() {
1511
1516
*/
1512
1517
@ Test
1513
1518
public void Test4177484 () {
1514
- TimeZone PST = TimeZone .getTimeZone ("PST " );
1515
- TimeZone EST = TimeZone .getTimeZone ("EST " );
1519
+ TimeZone PST = TimeZone .getTimeZone ("America/Los_Angeles " );
1520
+ TimeZone EST = TimeZone .getTimeZone ("America/Panama " );
1516
1521
1517
1522
Calendar cal = Calendar .getInstance (PST , Locale .US );
1518
1523
cal .clear ();
@@ -1770,7 +1775,7 @@ public void Test4413980() {
1770
1775
TimeZone savedTimeZone = TimeZone .getDefault ();
1771
1776
try {
1772
1777
boolean pass = true ;
1773
- String [] IDs = new String []{"Undefined" , "PST " , "US/Pacific" ,
1778
+ String [] IDs = new String []{"Undefined" , "America/Los_Angeles " , "US/Pacific" ,
1774
1779
"GMT+3:00" , "GMT-01:30" };
1775
1780
for (int i = 0 ; i < IDs .length ; i ++) {
1776
1781
TimeZone tz = TimeZone .getTimeZone (IDs [i ]);
0 commit comments