-
Bug
-
Resolution: Cannot Reproduce
-
P4
-
None
-
1.2.0
-
sparc
-
solaris_2.6
Name: jb33418 Date: 12/16/98
The first hour of the year 2000, for Pacific/Los Angeles time
zone, and Locale.US, appears to be in daylight savings time.
Although the example below demonstrates it just with date
formatting, I have verified that the time/fields in the
GregorianCalendar believe it to be true as well.
Example and source code follow:
Y2K DLS Bug
Entering the bug zone...
millis: 946709999995 date: Fri, Dec 31, 1999 AD 10:59:59 PM PST (Pacific Standard Time)
millis: 946709999996 date: Fri, Dec 31, 1999 AD 10:59:59 PM PST (Pacific Standard Time)
millis: 946709999997 date: Fri, Dec 31, 1999 AD 10:59:59 PM PST (Pacific Standard Time)
millis: 946709999998 date: Fri, Dec 31, 1999 AD 10:59:59 PM PST (Pacific Standard Time)
millis: 946709999999 date: Fri, Dec 31, 1999 AD 10:59:59 PM PST (Pacific Standard Time)
millis: 946710000000 date: Sat, Jan 01, 2000 AD 12:00:00 AM PDT (Pacific Daylight Time)
millis: 946710000001 date: Sat, Jan 01, 2000 AD 12:00:00 AM PDT (Pacific Daylight Time)
millis: 946710000002 date: Sat, Jan 01, 2000 AD 12:00:00 AM PDT (Pacific Daylight Time)
millis: 946710000003 date: Sat, Jan 01, 2000 AD 12:00:00 AM PDT (Pacific Daylight Time)
millis: 946710000004 date: Sat, Jan 01, 2000 AD 12:00:00 AM PDT (Pacific Daylight Time)
millis: 946710000005 date: Sat, Jan 01, 2000 AD 12:00:00 AM PDT (Pacific Daylight Time)
Leaving the bug zone...
millis: 946713599995 date: Sat, Jan 01, 2000 AD 12:59:59 AM PDT (Pacific Daylight Time)
millis: 946713599996 date: Sat, Jan 01, 2000 AD 12:59:59 AM PDT (Pacific Daylight Time)
millis: 946713599997 date: Sat, Jan 01, 2000 AD 12:59:59 AM PDT (Pacific Daylight Time)
millis: 946713599998 date: Sat, Jan 01, 2000 AD 12:59:59 AM PDT (Pacific Daylight Time)
millis: 946713599999 date: Sat, Jan 01, 2000 AD 12:59:59 AM PDT (Pacific Daylight Time)
millis: 946713600000 date: Sat, Jan 01, 2000 AD 12:00:00 AM PST (Pacific Standard Time)
millis: 946713600001 date: Sat, Jan 01, 2000 AD 12:00:00 AM PST (Pacific Standard Time)
millis: 946713600002 date: Sat, Jan 01, 2000 AD 12:00:00 AM PST (Pacific Standard Time)
millis: 946713600003 date: Sat, Jan 01, 2000 AD 12:00:00 AM PST (Pacific Standard Time)
millis: 946713600004 date: Sat, Jan 01, 2000 AD 12:00:00 AM PST (Pacific Standard Time)
millis: 946713600005 date: Sat, Jan 01, 2000 AD 12:00:00 AM PST (Pacific Standard Time)
// Demonstrating of bug in which first hour of year 2000 appears to be
// in daylight savings time, at least for Pacific/Los Angeles time zone
// in Locale.US.
//
// 1.2FCS Solaris 2.6
//
// December 16, 1998
//
// Tim Dale
// DAT Services
// ###@###.###
// 503-643-4331
//
//
import java.util.*;
import java.text.*;
public class Y2kBug {
public static void dumpMillisRange (SimpleDateFormat formatter,
long startMillis,
long endMillis) {
for (long millis = startMillis; millis <= endMillis; millis++) {
System.out.println ("millis: " + millis + " date: " + formatter.format(new Date(millis)) );
}
}
public static void main (String args[]) {
System.out.println ("Y2K DLS Bug");
// create a simple formatter
SimpleDateFormat formatter = new SimpleDateFormat ("E, MMM dd, yyyy GGG hh:mm:ss a z (zzzz)", Locale.US);
// show beginning of bug
System.out.println ("");
System.out.println ("Entering the bug zone...");
Y2kBug.dumpMillisRange (formatter, 946709999995L, 946710000005L);
// show end of bug
System.out.println ("");
System.out.println ("Leaving the bug zone...");
Y2kBug.dumpMillisRange (formatter, 946710000000L + (1 * 3600 * 1000) - 5L, 946710000000L + (1 * 3600 * 1000) + 5);
}
}
(Review ID: 48090)
======================================================================