Windows 98a Y2K Issues

The following Year 2000 issues are addressed in this update:

Regional Settings Date/Time - If Regional Settings in Control Panel are set to use two-digit years, the date/time function may not return the proper date because only two digits at a time can be accepted.

Java Virtual Machine - Some Year 2000 issues have been reported in connection with Java virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). For example, if your Web site uses Java and makes use of the java.txt.SimpleDateFormat class library and you enter four digits for the year, the date functions may use only the first two digits.

Dialer.Exe Log - If you make a phone call using the phone dialer, the log file that is created displays the year portion of the call date incorrectly.

Date/Time control - If you open Date/Time in Control Panel and set the date to February 29 of a leap year and then use the up/down buttons to change years, February 29 might be displayed even for non-leap years.

WordPad custom properties - If you select Properties/Custom on a Wordpad or Word document, the custom date settings will not accept the Year 2000 as a valid entry when entered as a two-digit year, or "00." Additionally, since all two digit dates are assumed to be in the 20th century, if the time zone is set to Far East, the date properties will lose a day when you enter the year as 2000.

Date Rollover - If your system boots up at the precise fraction of a second when the date rolls at midnight, the system clock may display an inaccurate time/date. This is an extremely rare occurrence.

Lagging IP Lease dates - If you log on to a LAN after March 1, 2000 and run Winipcfg from the Run command or Ipconfig from the DOS VM, the DHCP client reports the IP lease date as having been obtained on the previous day.

Programming to data access components - If you are a programmer and code to ADO or OLE DB, use data access components such as adDate, adDBDate, Dbtype_Filetime, chose to use an international date format with periods as separators, and specify a year less than 60, your date may be translated as a time.

Microsoft Foundation Class Library - After the Year 2000, programs that use the COleDateTime function may improperly parse a date.

DOS Xcopy - When using xcopy in real mode with the optional parameter /D:date, xcopy does not accept years entered as two digits, except for the years 80 through 99. The message "Invalid date" is displayed. When using xcopy in protected mode (from within Windows) two-digit dates are accepted but are recognized as being within the 20th century (02/05/01 is seen as 02/05/1901).

OLE Automation - The Microsoft Automation library contains routines for interpreting two digit years and provides convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current two digit year cutoff is 2029. This means that two digit years beginning with 30 will be interpreted as being in the 20th century, i.e. 1/1/30 is converted to 1/1/1930, irrespective of the user's century window settings in Control Panel\Regional Settings\Date tab.

DOS Xcopy - When using xcopy in real mode with the optional parameter /D:date, xcopy does not accept years entered as 2 digits, except for the years 80 - 99. The message "Invalid date" is displayed. When using xcopy in protected mode (from within Windows) 2 digit dates are accepted but are recognized as being within the 20th century (02/05/01 is seen as 02/05/1901).

MQRT.DLL - Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates - external and internal. The internal certificates is a concept supported by MSMQ to allow MSMQ applications to allocate certificates for the purpose of sending authenticated messages. The code creating the requests for internal certificates for MSMQ 1.0 requests to set the validity of the newly created certificates to 10 years. The problem materializes when MSMQ tries to create such a certificate on February 29, 2000 (or any leap year such as 2004, 2008, etc.). This fails because it computes the validity by adding 10 years to the current date which yields 2/29/2010. This is an illegal date because 2010 is not a leap year.

Back