Microsoft TechNet ITHome - Microsoft Year 2000 Product Guide
Microsoft Products
Product Entry Guide Detail


The Microsoft Year 2000 Resource Center Product Guide details specific Year 2000 information concerning Microsoft products. The information in the product guide is presented to assist IT professionals in planning their transition to the Year 2000. If you cannot find a specific product and it is not on the "Microsoft Products: Testing Yet to be Completed" list, you can assume it will NOT be tested for compliancy.
Microsoft will continually update the Year 2000 Product Guide with the most current Year 2000 test information. Visit the Year 2000 Product Guide for more details regarding the Microsoft Compliance Categories.

------------------------
Microsoft Year 2000 Resource Center
Windows 95  OSR 2.1, 4.00.1111   (Swedish)

Product Summary
Product: Windows 95 Version: OSR 2.1, 4.00.1111 Category:Compliant*
Language: Swedish OS: 32-Bit Win Release Date: 24 Oct 1996
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 Software Update; Outlook Express 4.01 Software Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the known issues described below.

To download the Windows 95 year 2000 Software Update, please click here.

To receive the Year 2000 Resource Center CD from Microsoft that will include this update, please click here, or in the US call 1-888-MSFT Y2k.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

Additional Information

Windows 95 Year 2000 Update may not update VDHCP.386: If the Dial Up Networking 1.3 or the Winsock2 Updates for Windows 95 have been installed on the Windows 95 machine prior to installing Windows 95 year 2000 Software Update, the Windows 95 year 2000 software update will not update VDHCP.386. For more information, please see the Knowledge Base Article Q230173.

To determine if you have either Dial Up Networking or Winsock installed, check Control Panel/ Add/Remove Programs. If either update has been installed, it will be on the list of installed products.

The year 2000 software update for Dial Up Networking 1.3 and Winsock 2 is available at Dial Up Networking 1.3 and Winsock 2 Year 2000 Update.

Corporate Customers

A Windows 95 Corporate Year 2000 Companion is available for corporations to address Year 2000 Update deployment issues and to ease administration. This Corporate Year 2000 Companion is recommended for corporate customers after they have installed the Windows 95 year 2000 update released in April 1999. The Corporate Year 2000 Companion incorporates: 1) deployment and maintenance features requested by corporate customers, and 2) the Dial Up Networking 1.3 and Winsock 2 year 2000 software update. An English version is available at Windows 95 Corporate Year 2000 Companion.

To determine which Year 2000 updates have been applied to your Windows 95 system, install the Windows 95 Corporate Companion available from the Windows 95 download site or Windows Update. Run the Update Information Tool (QFECHECK.EXE) that is installed with the Corporate Companion to view which Y2K updates are deployed on the system.

How the product handles dates:

Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.

Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed (see below) by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues fixed in the Windows 95 year 2000 Software Update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

      • January 1, 2000 would appear as 1/1/;1
      • February 3, 2023 would appear as 2/3/>3
      • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 - Winipcfg/all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

MICROSOFT VIRTUAL MACHINE - 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). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may download at http://www.microsoft.com/java/vm/dl_vm32.htm.

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL: Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files: Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Software Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.1, 4.00.1111   (Turkish)

Product Summary
Product: Windows 95 Version: OSR 2.1, 4.00.1111 Category:Compliant*
Language: Turkish OS: 32-Bit Win Release Date: 24 Oct 1996
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 software update; Outlook Express 4.01 software update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the issues described below.

To download, please click Windows 95 year 2000 software update.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

How the product handles dates:

  • Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.
  • Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues resolved by the Windows 95 year 2000 software update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

  • January 1, 2000 would appear as 1/1/;1
  • February 3, 2023 would appear as 2/3/>3
  • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 – Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date. 

MICROSOFT VIRTUAL MACHINE - Year 2000 issues have been reported in connection with virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may be downloaded from http://www.microsoft.com/java/vm/dl_vm31.htm

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call Log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL - Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files - Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (Canadian French)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: Canadian French OS: 32-Bit Win Release Date: 26 Nov 1997
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 software update; Outlook Express 4.01 software update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the issues described below.

To download, please click Windows 95 year 2000 software update.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

How the product handles dates:

  • Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.
  • Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues resolved by the Windows 95 year 2000 software update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

  • January 1, 2000 would appear as 1/1/;1
  • February 3, 2023 would appear as 2/3/>3
  • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 – Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date. 

MICROSOFT VIRTUAL MACHINE - Year 2000 issues have been reported in connection with virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may be downloaded from http://www.microsoft.com/java/vm/dl_vm31.htm

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call Log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL - Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files - Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (Chinese - Simplified)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: Chinese - Simplified OS: 32-Bit Win Release Date: N/A
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 Software Update; Outlook Express 4.01 Software Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the known issues described below.

To download the Windows 95 year 2000 Software Update, please click here.

To receive the Year 2000 Resource Center CD from Microsoft that will include this update, please click here, or in the US call 1-888-MSFT Y2k.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

Additional Information

Windows 95 Year 2000 Update may not update VDHCP.386: If the Dial Up Networking 1.3 or the Winsock2 Updates for Windows 95 have been installed on the Windows 95 machine prior to installing Windows 95 year 2000 Software Update, the Windows 95 year 2000 software update will not update VDHCP.386. For more information, please see the Knowledge Base Article Q230173.

To determine if you have either Dial Up Networking or Winsock installed, check Control Panel/ Add/Remove Programs. If either update has been installed, it will be on the list of installed products.

The year 2000 software update for Dial Up Networking 1.3 and Winsock 2 is available at Dial Up Networking 1.3 and Winsock 2 Year 2000 Update.

Corporate Customers

A Windows 95 Corporate Year 2000 Companion is available for corporations to address Year 2000 Update deployment issues and to ease administration. This Corporate Year 2000 Companion is recommended for corporate customers after they have installed the Windows 95 year 2000 update released in April 1999. The Corporate Year 2000 Companion incorporates: 1) deployment and maintenance features requested by corporate customers, and 2) the Dial Up Networking 1.3 and Winsock 2 year 2000 software update. An English version is available at Windows 95 Corporate Year 2000 Companion.

To determine which Year 2000 updates have been applied to your Windows 95 system, install the Windows 95 Corporate Companion available from the Windows 95 download site or Windows Update. Run the Update Information Tool (QFECHECK.EXE) that is installed with the Corporate Companion to view which Y2K updates are deployed on the system.

How the product handles dates:

Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.

Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed (see below) by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues fixed in the Windows 95 year 2000 Software Update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

      • January 1, 2000 would appear as 1/1/;1
      • February 3, 2023 would appear as 2/3/>3
      • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 - Winipcfg/all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

MICROSOFT VIRTUAL MACHINE - 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). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may download at http://www.microsoft.com/java/vm/dl_vm32.htm.

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL: Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files: Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Software Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (Chinese - Traditional)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: Chinese - Traditional OS: 32-Bit Win Release Date: N/A
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 Software Update; Outlook Express 4.01 Software Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the known issues described below.

To download the Windows 95 year 2000 Software Update, please click here.

To receive the Year 2000 Resource Center CD from Microsoft that will include this update, please click here, or in the US call 1-888-MSFT Y2k.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

Additional Information

Windows 95 Year 2000 Update may not update VDHCP.386: If the Dial Up Networking 1.3 or the Winsock2 Updates for Windows 95 have been installed on the Windows 95 machine prior to installing Windows 95 year 2000 Software Update, the Windows 95 year 2000 software update will not update VDHCP.386. For more information, please see the Knowledge Base Article Q230173.

To determine if you have either Dial Up Networking or Winsock installed, check Control Panel/ Add/Remove Programs. If either update has been installed, it will be on the list of installed products.

The year 2000 software update for Dial Up Networking 1.3 and Winsock 2 is available at Dial Up Networking 1.3 and Winsock 2 Year 2000 Update.

Corporate Customers

A Windows 95 Corporate Year 2000 Companion is available for corporations to address Year 2000 Update deployment issues and to ease administration. This Corporate Year 2000 Companion is recommended for corporate customers after they have installed the Windows 95 year 2000 update released in April 1999. The Corporate Year 2000 Companion incorporates: 1) deployment and maintenance features requested by corporate customers, and 2) the Dial Up Networking 1.3 and Winsock 2 year 2000 software update. An English version is available at Windows 95 Corporate Year 2000 Companion.

To determine which Year 2000 updates have been applied to your Windows 95 system, install the Windows 95 Corporate Companion available from the Windows 95 download site or Windows Update. Run the Update Information Tool (QFECHECK.EXE) that is installed with the Corporate Companion to view which Y2K updates are deployed on the system.

How the product handles dates:

Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.

Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed (see below) by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues fixed in the Windows 95 year 2000 Software Update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

      • January 1, 2000 would appear as 1/1/;1
      • February 3, 2023 would appear as 2/3/>3
      • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 - Winipcfg/all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

MICROSOFT VIRTUAL MACHINE - 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). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may download at http://www.microsoft.com/java/vm/dl_vm32.htm.

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL: Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files: Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Software Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (Danish)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: Danish OS: 32-Bit Win Release Date: 26 Nov 1997
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 software update; Outlook Express 4.01 software update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the issues described below.

To download, please click Windows 95 year 2000 software update.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

How the product handles dates:

  • Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.
  • Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues resolved by the Windows 95 year 2000 software update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

  • January 1, 2000 would appear as 1/1/;1
  • February 3, 2023 would appear as 2/3/>3
  • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 – Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date. 

MICROSOFT VIRTUAL MACHINE - Year 2000 issues have been reported in connection with virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may be downloaded from http://www.microsoft.com/java/vm/dl_vm31.htm

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call Log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL - Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files - Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (Dutch)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: Dutch OS: 32-Bit Win Release Date: 26 Nov 1997
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 Software Update; Outlook Express 4.01 Software Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the known issues described below.

To download the Windows 95 year 2000 Software Update, please click here.

To receive the Year 2000 Resource Center CD from Microsoft that will include this update, please click here, or in the US call 1-888-MSFT Y2k.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

Additional Information

Windows 95 Year 2000 Update may not update VDHCP.386: If the Dial Up Networking 1.3 or the Winsock2 Updates for Windows 95 have been installed on the Windows 95 machine prior to installing Windows 95 year 2000 Software Update, the Windows 95 year 2000 software update will not update VDHCP.386. For more information, please see the Knowledge Base Article Q230173.

To determine if you have either Dial Up Networking or Winsock installed, check Control Panel/ Add/Remove Programs. If either update has been installed, it will be on the list of installed products.

The year 2000 software update for Dial Up Networking 1.3 and Winsock 2 is available at Dial Up Networking 1.3 and Winsock 2 Year 2000 Update.

Corporate Customers

A Windows 95 Corporate Year 2000 Companion is available for corporations to address Year 2000 Update deployment issues and to ease administration. This Corporate Year 2000 Companion is recommended for corporate customers after they have installed the Windows 95 year 2000 update released in April 1999. The Corporate Year 2000 Companion incorporates: 1) deployment and maintenance features requested by corporate customers, and 2) the Dial Up Networking 1.3 and Winsock 2 year 2000 software update. An English version is available at Windows 95 Corporate Year 2000 Companion.

To determine which Year 2000 updates have been applied to your Windows 95 system, install the Windows 95 Corporate Companion available from the Windows 95 download site or Windows Update. Run the Update Information Tool (QFECHECK.EXE) that is installed with the Corporate Companion to view which Y2K updates are deployed on the system.

How the product handles dates:

Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.

Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed (see below) by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues fixed in the Windows 95 year 2000 Software Update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

      • January 1, 2000 would appear as 1/1/;1
      • February 3, 2023 would appear as 2/3/>3
      • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 - Winipcfg/all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

MICROSOFT VIRTUAL MACHINE - 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). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may download at http://www.microsoft.com/java/vm/dl_vm32.htm.

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL: Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files: Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Software Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (English)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: English OS: 32-Bit Win Release Date: 26 Nov 1997
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 Software Update; Outlook Express 4.01 Software Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 12 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the known issues described below.

To download the Windows 95 year 2000 Software Update, please click here.

To receive the Year 2000 Resource Center CD from Microsoft that will include this update, please click here, or in the US call 1-888-MSFT Y2k.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

Additional Information

Windows 95 Year 2000 Update may not update VDHCP.386: If the Dial Up Networking 1.3 or the Winsock2 Updates for Windows 95 have been installed on the Windows 95 machine prior to installing Windows 95 year 2000 Software Update, the Windows 95 year 2000 software update will not update VDHCP.386. For more information, please see the Knowledge Base Article Q230173.

To determine if you have either Dial Up Networking or Winsock installed, check Control Panel/ Add/Remove Programs. If either update has been installed, it will be on the list of installed products.

The year 2000 software update for Dial Up Networking 1.3 and Winsock 2 is available at Dial Up Networking 1.3 and Winsock 2 Year 2000 Update.

Corporate Customers

A Windows 95 Corporate Year 2000 Companion is available for corporations to address Year 2000 Update deployment issues and to ease administration. This Corporate Year 2000 Companion is recommended for corporate customers after they have installed the Windows 95 year 2000 update released in April 1999. The Corporate Year 2000 Companion incorporates: 1) deployment and maintenance features requested by corporate customers, and 2) the Dial Up Networking 1.3 and Winsock 2 year 2000 software update. An English version is available at Windows 95 Corporate Year 2000 Companion.

To determine which Year 2000 updates have been applied to your Windows 95 system, install the Windows 95 Corporate Companion available from the Windows 95 download site or Windows Update. Run the Update Information Tool (QFECHECK.EXE) that is installed with the Corporate Companion to view which Y2K updates are deployed on the system.

How the product handles dates:

Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.

Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed (see below) by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues fixed in the Windows 95 year 2000 Software Update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

      • January 1, 2000 would appear as 1/1/;1
      • February 3, 2023 would appear as 2/3/>3
      • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 - Winipcfg/all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

MICROSOFT VIRTUAL MACHINE - 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). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may download at http://www.microsoft.com/java/vm/dl_vm32.htm.

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL: Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files: Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Software Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (Finnish)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: Finnish OS: 32-Bit Win Release Date: 26 Nov 1997
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 software update; Outlook Express 4.01 software update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the issues described below.

To download, please click Windows 95 year 2000 software update.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

How the product handles dates:

  • Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.
  • Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues resolved by the Windows 95 year 2000 software update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

  • January 1, 2000 would appear as 1/1/;1
  • February 3, 2023 would appear as 2/3/>3
  • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 – Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date. 

MICROSOFT VIRTUAL MACHINE - Year 2000 issues have been reported in connection with virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may be downloaded from http://www.microsoft.com/java/vm/dl_vm31.htm

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call Log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL - Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files - Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (French)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: French OS: 32-Bit Win Release Date: 26 Nov 1997
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 Software Update; Outlook Express 4.01 Software Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the known issues described below.

To download the Windows 95 year 2000 Software Update, please click here.

To receive the Year 2000 Resource Center CD from Microsoft that will include this update, please click here, or in the US call 1-888-MSFT Y2k.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

Additional Information

Windows 95 Year 2000 Update may not update VDHCP.386: If the Dial Up Networking 1.3 or the Winsock2 Updates for Windows 95 have been installed on the Windows 95 machine prior to installing Windows 95 year 2000 Software Update, the Windows 95 year 2000 software update will not update VDHCP.386. For more information, please see the Knowledge Base Article Q230173.

To determine if you have either Dial Up Networking or Winsock installed, check Control Panel/ Add/Remove Programs. If either update has been installed, it will be on the list of installed products.

The year 2000 software update for Dial Up Networking 1.3 and Winsock 2 is available at Dial Up Networking 1.3 and Winsock 2 Year 2000 Update.

Corporate Customers

A Windows 95 Corporate Year 2000 Companion is available for corporations to address Year 2000 Update deployment issues and to ease administration. This Corporate Year 2000 Companion is recommended for corporate customers after they have installed the Windows 95 year 2000 update released in April 1999. The Corporate Year 2000 Companion incorporates: 1) deployment and maintenance features requested by corporate customers, and 2) the Dial Up Networking 1.3 and Winsock 2 year 2000 software update. An English version is available at Windows 95 Corporate Year 2000 Companion.

To determine which Year 2000 updates have been applied to your Windows 95 system, install the Windows 95 Corporate Companion available from the Windows 95 download site or Windows Update. Run the Update Information Tool (QFECHECK.EXE) that is installed with the Corporate Companion to view which Y2K updates are deployed on the system.

How the product handles dates:

Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.

Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed (see below) by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues fixed in the Windows 95 year 2000 Software Update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

      • January 1, 2000 would appear as 1/1/;1
      • February 3, 2023 would appear as 2/3/>3
      • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 - Winipcfg/all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

MICROSOFT VIRTUAL MACHINE - 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). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may download at http://www.microsoft.com/java/vm/dl_vm32.htm.

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL: Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files: Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Software Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (German)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: German OS: 32-Bit Win Release Date: N/A
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 Software Update; Outlook Express 4.01 Software Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the known issues described below.

To download the Windows 95 year 2000 Software Update, please click here.

To receive the Year 2000 Resource Center CD from Microsoft that will include this update, please click here, or in the US call 1-888-MSFT Y2k.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

Additional Information

Windows 95 Year 2000 Update may not update VDHCP.386: If the Dial Up Networking 1.3 or the Winsock2 Updates for Windows 95 have been installed on the Windows 95 machine prior to installing Windows 95 year 2000 Software Update, the Windows 95 year 2000 software update will not update VDHCP.386. For more information, please see the Knowledge Base Article Q230173.

To determine if you have either Dial Up Networking or Winsock installed, check Control Panel/ Add/Remove Programs. If either update has been installed, it will be on the list of installed products.

The year 2000 software update for Dial Up Networking 1.3 and Winsock 2 is available at Dial Up Networking 1.3 and Winsock 2 Year 2000 Update.

Corporate Customers

A Windows 95 Corporate Year 2000 Companion is available for corporations to address Year 2000 Update deployment issues and to ease administration. This Corporate Year 2000 Companion is recommended for corporate customers after they have installed the Windows 95 year 2000 update released in April 1999. The Corporate Year 2000 Companion incorporates: 1) deployment and maintenance features requested by corporate customers, and 2) the Dial Up Networking 1.3 and Winsock 2 year 2000 software update. An English version is available at Windows 95 Corporate Year 2000 Companion.

To determine which Year 2000 updates have been applied to your Windows 95 system, install the Windows 95 Corporate Companion available from the Windows 95 download site or Windows Update. Run the Update Information Tool (QFECHECK.EXE) that is installed with the Corporate Companion to view which Y2K updates are deployed on the system.

How the product handles dates:

Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.

Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed (see below) by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues fixed in the Windows 95 year 2000 Software Update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

      • January 1, 2000 would appear as 1/1/;1
      • February 3, 2023 would appear as 2/3/>3
      • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 - Winipcfg/all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

MICROSOFT VIRTUAL MACHINE - 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). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may download at http://www.microsoft.com/java/vm/dl_vm32.htm.

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL: Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files: Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Software Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (Italian)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: Italian OS: 32-Bit Win Release Date: 26 Nov 1997
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 Software Update; Outlook Express 4.01 Software Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the known issues described below.

To download the Windows 95 year 2000 Software Update, please click here.

To receive the Year 2000 Resource Center CD from Microsoft that will include this update, please click here, or in the US call 1-888-MSFT Y2k.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

Additional Information

Windows 95 Year 2000 Update may not update VDHCP.386: If the Dial Up Networking 1.3 or the Winsock2 Updates for Windows 95 have been installed on the Windows 95 machine prior to installing Windows 95 year 2000 Software Update, the Windows 95 year 2000 software update will not update VDHCP.386. For more information, please see the Knowledge Base Article Q230173.

To determine if you have either Dial Up Networking or Winsock installed, check Control Panel/ Add/Remove Programs. If either update has been installed, it will be on the list of installed products.

The year 2000 software update for Dial Up Networking 1.3 and Winsock 2 is available at Dial Up Networking 1.3 and Winsock 2 Year 2000 Update.

Corporate Customers

A Windows 95 Corporate Year 2000 Companion is available for corporations to address Year 2000 Update deployment issues and to ease administration. This Corporate Year 2000 Companion is recommended for corporate customers after they have installed the Windows 95 year 2000 update released in April 1999. The Corporate Year 2000 Companion incorporates: 1) deployment and maintenance features requested by corporate customers, and 2) the Dial Up Networking 1.3 and Winsock 2 year 2000 software update. An English version is available at Windows 95 Corporate Year 2000 Companion.

To determine which Year 2000 updates have been applied to your Windows 95 system, install the Windows 95 Corporate Companion available from the Windows 95 download site or Windows Update. Run the Update Information Tool (QFECHECK.EXE) that is installed with the Corporate Companion to view which Y2K updates are deployed on the system.

How the product handles dates:

Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.

Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed (see below) by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues fixed in the Windows 95 year 2000 Software Update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

      • January 1, 2000 would appear as 1/1/;1
      • February 3, 2023 would appear as 2/3/>3
      • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 - Winipcfg/all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

MICROSOFT VIRTUAL MACHINE - 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). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may download at http://www.microsoft.com/java/vm/dl_vm32.htm.

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL: Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files: Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Software Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (Korean)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: Korean OS: 32-Bit Win Release Date: N/A
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 Software Update; Outlook Express 4.01 Software Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the known issues described below.

To download the Windows 95 year 2000 Software Update, please click here.

To receive the Year 2000 Resource Center CD from Microsoft that will include this update, please click here, or in the US call 1-888-MSFT Y2k.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

Additional Information

Windows 95 Year 2000 Update may not update VDHCP.386: If the Dial Up Networking 1.3 or the Winsock2 Updates for Windows 95 have been installed on the Windows 95 machine prior to installing Windows 95 year 2000 Software Update, the Windows 95 year 2000 software update will not update VDHCP.386. For more information, please see the Knowledge Base Article Q230173.

To determine if you have either Dial Up Networking or Winsock installed, check Control Panel/ Add/Remove Programs. If either update has been installed, it will be on the list of installed products.

The year 2000 software update for Dial Up Networking 1.3 and Winsock 2 is available at Dial Up Networking 1.3 and Winsock 2 Year 2000 Update.

Corporate Customers

A Windows 95 Corporate Year 2000 Companion is available for corporations to address Year 2000 Update deployment issues and to ease administration. This Corporate Year 2000 Companion is recommended for corporate customers after they have installed the Windows 95 year 2000 update released in April 1999. The Corporate Year 2000 Companion incorporates: 1) deployment and maintenance features requested by corporate customers, and 2) the Dial Up Networking 1.3 and Winsock 2 year 2000 software update. An English version is available at Windows 95 Corporate Year 2000 Companion.

To determine which Year 2000 updates have been applied to your Windows 95 system, install the Windows 95 Corporate Companion available from the Windows 95 download site or Windows Update. Run the Update Information Tool (QFECHECK.EXE) that is installed with the Corporate Companion to view which Y2K updates are deployed on the system.

How the product handles dates:

Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.

Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed (see below) by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues fixed in the Windows 95 year 2000 Software Update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

      • January 1, 2000 would appear as 1/1/;1
      • February 3, 2023 would appear as 2/3/>3
      • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 - Winipcfg/all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

MICROSOFT VIRTUAL MACHINE - 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). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may download at http://www.microsoft.com/java/vm/dl_vm32.htm.

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL: Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files: Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Software Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (Norwegian)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: Norwegian OS: 32-Bit Win Release Date: 26 Nov 1997
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 software update; Outlook Express 4.01 software update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the issues described below.

To download, please click Windows 95 year 2000 software update.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

How the product handles dates:

  • Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.
  • Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues resolved by the Windows 95 year 2000 software update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

  • January 1, 2000 would appear as 1/1/;1
  • February 3, 2023 would appear as 2/3/>3
  • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 – Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date. 

MICROSOFT VIRTUAL MACHINE - Year 2000 issues have been reported in connection with virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may be downloaded from http://www.microsoft.com/java/vm/dl_vm31.htm

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call Log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL - Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files - Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (Pan-European)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: Pan-European OS: 32-Bit Win Release Date: N/A
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 software update; Outlook Express 4.01 software update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 12 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the issues described below.

To download, please click Windows 95 year 2000 software update.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

How the product handles dates:

  • Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.
  • Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues resolved by the Windows 95 year 2000 software update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

  • January 1, 2000 would appear as 1/1/;1
  • February 3, 2023 would appear as 2/3/>3
  • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 – Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date. 

MICROSOFT VIRTUAL MACHINE - Year 2000 issues have been reported in connection with virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may be downloaded from http://www.microsoft.com/java/vm/dl_vm31.htm

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call Log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL - Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files - Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (Portuguese (Brazil))

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: Portuguese (Brazil) OS: 32-Bit Win Release Date: 26 Nov 1997
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 Software Update; Outlook Express 4.01 Software Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the known issues described below.

To download the Windows 95 year 2000 Software Update, please click here.

To receive the Year 2000 Resource Center CD from Microsoft that will include this update, please click here, or in the US call 1-888-MSFT Y2k.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

Additional Information

Windows 95 Year 2000 Update may not update VDHCP.386: If the Dial Up Networking 1.3 or the Winsock2 Updates for Windows 95 have been installed on the Windows 95 machine prior to installing Windows 95 year 2000 Software Update, the Windows 95 year 2000 software update will not update VDHCP.386. For more information, please see the Knowledge Base Article Q230173.

To determine if you have either Dial Up Networking or Winsock installed, check Control Panel/ Add/Remove Programs. If either update has been installed, it will be on the list of installed products.

The year 2000 software update for Dial Up Networking 1.3 and Winsock 2 is available at Dial Up Networking 1.3 and Winsock 2 Year 2000 Update.

Corporate Customers

A Windows 95 Corporate Year 2000 Companion is available for corporations to address Year 2000 Update deployment issues and to ease administration. This Corporate Year 2000 Companion is recommended for corporate customers after they have installed the Windows 95 year 2000 update released in April 1999. The Corporate Year 2000 Companion incorporates: 1) deployment and maintenance features requested by corporate customers, and 2) the Dial Up Networking 1.3 and Winsock 2 year 2000 software update. An English version is available at Windows 95 Corporate Year 2000 Companion.

To determine which Year 2000 updates have been applied to your Windows 95 system, install the Windows 95 Corporate Companion available from the Windows 95 download site or Windows Update. Run the Update Information Tool (QFECHECK.EXE) that is installed with the Corporate Companion to view which Y2K updates are deployed on the system.

How the product handles dates:

Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.

Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed (see below) by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues fixed in the Windows 95 year 2000 Software Update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

      • January 1, 2000 would appear as 1/1/;1
      • February 3, 2023 would appear as 2/3/>3
      • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 - Winipcfg/all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

MICROSOFT VIRTUAL MACHINE - 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). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may download at http://www.microsoft.com/java/vm/dl_vm32.htm.

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL: Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files: Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Software Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (Portuguese)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: Portuguese OS: 32-Bit Win Release Date: 26 Nov 1997
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 software update; Outlook Express 4.01 software update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the issues described below.

To download, please click Windows 95 year 2000 software update.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

How the product handles dates:

  • Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.
  • Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues resolved by the Windows 95 year 2000 software update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

  • January 1, 2000 would appear as 1/1/;1
  • February 3, 2023 would appear as 2/3/>3
  • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 – Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date. 

MICROSOFT VIRTUAL MACHINE - Year 2000 issues have been reported in connection with virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may be downloaded from http://www.microsoft.com/java/vm/dl_vm31.htm

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call Log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL - Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files - Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (Spanish)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: Spanish OS: 32-Bit Win Release Date: 26 Nov 1997
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 Software Update; Outlook Express 4.01 Software Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the known issues described below.

To download the Windows 95 year 2000 Software Update, please click here.

To receive the Year 2000 Resource Center CD from Microsoft that will include this update, please click here, or in the US call 1-888-MSFT Y2k.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

Additional Information

Windows 95 Year 2000 Update may not update VDHCP.386: If the Dial Up Networking 1.3 or the Winsock2 Updates for Windows 95 have been installed on the Windows 95 machine prior to installing Windows 95 year 2000 Software Update, the Windows 95 year 2000 software update will not update VDHCP.386. For more information, please see the Knowledge Base Article Q230173.

To determine if you have either Dial Up Networking or Winsock installed, check Control Panel/ Add/Remove Programs. If either update has been installed, it will be on the list of installed products.

The year 2000 software update for Dial Up Networking 1.3 and Winsock 2 is available at Dial Up Networking 1.3 and Winsock 2 Year 2000 Update.

Corporate Customers

A Windows 95 Corporate Year 2000 Companion is available for corporations to address Year 2000 Update deployment issues and to ease administration. This Corporate Year 2000 Companion is recommended for corporate customers after they have installed the Windows 95 year 2000 update released in April 1999. The Corporate Year 2000 Companion incorporates: 1) deployment and maintenance features requested by corporate customers, and 2) the Dial Up Networking 1.3 and Winsock 2 year 2000 software update. An English version is available at Windows 95 Corporate Year 2000 Companion.

To determine which Year 2000 updates have been applied to your Windows 95 system, install the Windows 95 Corporate Companion available from the Windows 95 download site or Windows Update. Run the Update Information Tool (QFECHECK.EXE) that is installed with the Corporate Companion to view which Y2K updates are deployed on the system.

How the product handles dates:

Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.

Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed (see below) by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues fixed in the Windows 95 year 2000 Software Update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

      • January 1, 2000 would appear as 1/1/;1
      • February 3, 2023 would appear as 2/3/>3
      • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 - Winipcfg/all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

MICROSOFT VIRTUAL MACHINE - 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). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may download at http://www.microsoft.com/java/vm/dl_vm32.htm.

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL: Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files: Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Software Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 95  OSR 2.5, 4.00.1111   (Swedish)

Product Summary
Product: Windows 95 Version: OSR 2.5, 4.00.1111 Category:Compliant*
Language: Swedish OS: 32-Bit Win Release Date: 26 Nov 1997
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 95 year 2000 Software Update; Outlook Express 4.01 Software Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 12 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 95 version OSR 2.x, 4.00.1111 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

To learn how to check your version of Windows 95, see Knowledge Base article from Microsoft's Support site - Q158238.

Product Details

Microsoft has released a software update for Windows 95 that addresses the known issues described below.

To download the Windows 95 year 2000 Software Update, please click here.

To receive the Year 2000 Resource Center CD from Microsoft that will include this update, please click here, or in the US call 1-888-MSFT Y2k.

Windows 95 shipped with various versions of Internet Explorer. Microsoft recommends using Internet Explorer 4.01 Service Pack 2 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have. If you are unsure which version of Internet Explorer you are using click here.

Additional Information

Windows 95 Year 2000 Update may not update VDHCP.386: If the Dial Up Networking 1.3 or the Winsock2 Updates for Windows 95 have been installed on the Windows 95 machine prior to installing Windows 95 year 2000 Software Update, the Windows 95 year 2000 software update will not update VDHCP.386. For more information, please see the Knowledge Base Article Q230173.

To determine if you have either Dial Up Networking or Winsock installed, check Control Panel/ Add/Remove Programs. If either update has been installed, it will be on the list of installed products.

The year 2000 software update for Dial Up Networking 1.3 and Winsock 2 is available at Dial Up Networking 1.3 and Winsock 2 Year 2000 Update.

Corporate Customers

A Windows 95 Corporate Year 2000 Companion is available for corporations to address Year 2000 Update deployment issues and to ease administration. This Corporate Year 2000 Companion is recommended for corporate customers after they have installed the Windows 95 year 2000 update released in April 1999. The Corporate Year 2000 Companion incorporates: 1) deployment and maintenance features requested by corporate customers, and 2) the Dial Up Networking 1.3 and Winsock 2 year 2000 software update. An English version is available at Windows 95 Corporate Year 2000 Companion.

To determine which Year 2000 updates have been applied to your Windows 95 system, install the Windows 95 Corporate Companion available from the Windows 95 download site or Windows Update. Run the Update Information Tool (QFECHECK.EXE) that is installed with the Corporate Companion to view which Y2K updates are deployed on the system.

How the product handles dates:

Storage: Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.

Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed (see below) by the updated version of COMMAND.COM.

Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Product Issues fixed in the Windows 95 year 2000 Software Update:

WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows:

      • January 1, 2000 would appear as 1/1/;1
      • February 3, 2023 would appear as 2/3/>3
      • March 5, 2036 would appear as 3/5/=6

COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date".

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates: set Regional Settings to 4-digit date display.

VDHCP.386 - Winipcfg/all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

MICROSOFT VIRTUAL MACHINE - 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). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may download at http://www.microsoft.com/java/vm/dl_vm32.htm.

OLE DB Year 2000 issues for data coercion library are:

If coded to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)

AND a year specified is less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coded directly to OLE DB, the same case exists:

If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND using a European format for dates,

AND specify a year less than 60,

THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

TIMEDATE.CPL - Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DIALER.EXE - Phone Dialer applet - The Show Call log option does not display date correctly after successful completion of telephone call. If the system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

MFC40.DLL and MFC40U.DLL: Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document.

Microsoft Visual C++ Runtime library files: Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see http://msdn.microsoft.com/visualc/headlines/2001.asp

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

XCOPY.EXE - 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).

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.0 and Microsoft Office 95

When you try to synchronize two members of a replica set that was created before the year 2000, and the current date on your computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table does not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 95 Year 2000 Software Update from the Microsoft Web site at http://www.officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Arabic)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*+
Language: Arabic OS: 32-Bit Win Release Date: N/A
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 02 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues will be made late Spring 1999.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and will be the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATE (shipped December 1998)

Windows 98 users:
Please start the Windows Update service from the link on the Start menu.
All other users:
For information on Windows 98, please go to the Windows 98 Web site.

For information on how to receive the Win98 Year2000 Update CD, please contact your local subsidiary. Please check http://www.microsoft.com/worldwide/ for local contact information.

PRODUCT ISSUES:

Issues identified (April 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting two digit years and provides a 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept 00 for the year 2000.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

Previously Resolved Issues

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the Windows 98 Y2K Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide http://www.microsoft.com/technet/promo/javavm.htm for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The view call log option doesn't display date as expected after successful completion of telephone call. If date is adjusted to the year 2000, the date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not return the proper date. To ensure proper handling of dates, set Regional Settings to 4-digit date handling.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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).

MFC40.DLL – Performing a File\Save after the year 1999 creates a .nfo file with a date stamp that displays the year incorrectly (01/01/2000 displays as 01/01/100).

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the

MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the BIOS section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Chinese - Simplified)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Chinese - Simplified OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Updates; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Chinese - Traditional)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Chinese - Traditional OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Updates; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Czech)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Czech OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Update; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Danish)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Danish OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Update; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Dutch)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Dutch OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Updates; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (English)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: English OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Updates; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: NONE
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Windows 98

 

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

 

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

 

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

 

If you need to update a computer without Internet connectivity, you can order the Year 2000 Resource Center CD by calling 1-888-MSFT-Y2K or from the following Microsoft Web site: www.microsoft.com/year2000.

 

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

 

Issues resolved with Year 2000 Update #2 (released June 1999)

 

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept 00 for the year 2000.

 

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 

 

Previously Resolved Issues (Year 2000 update released December 1998)

 

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

 

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

 

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

 

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

 

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

 

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

 

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

 

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

 

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

 

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

 

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

 

Common Date Usage Errors:

 

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

 

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

 

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

 

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

 

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

 

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

 

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

 

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Testing guidelines and recommendations:

 

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

 

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Finnish)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Finnish OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Update; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (French)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: French OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Updates; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (German)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: German OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Updates; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Greek)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Greek OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Update; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Hebrew)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*+
Language: Hebrew OS: 32-Bit Win Release Date: N/A
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 02 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues will be made late Spring 1999.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and will be the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATE (shipped December 1998)

Windows 98 users:
Please start the Windows Update service from the link on the Start menu.
All other users:
For information on Windows 98, please go to the Windows 98 Web site.

For information on how to receive the Win98 Year2000 Update CD, please contact your local subsidiary. Please check http://www.microsoft.com/worldwide/ for local contact information.

PRODUCT ISSUES:

Issues identified (April 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting two digit years and provides a 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept 00 for the year 2000.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

Previously Resolved Issues

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the Windows 98 Y2K Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide http://www.microsoft.com/technet/promo/javavm.htm for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The view call log option doesn't display date as expected after successful completion of telephone call. If date is adjusted to the year 2000, the date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not return the proper date. To ensure proper handling of dates, set Regional Settings to 4-digit date handling.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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).

MFC40.DLL – Performing a File\Save after the year 1999 creates a .nfo file with a date stamp that displays the year incorrectly (01/01/2000 displays as 01/01/100).

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the

MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the BIOS section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Hungarian)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Hungarian OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Update; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Italian)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Italian OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Updates; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Japanese)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Japanese OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Updates; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Korean)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Korean OS: 32-Bit Win Release Date: 24 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Update; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Norwegian)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Norwegian OS: 32-Bit Win Release Date: 25 Jun 1980
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Update; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Polish)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Polish OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Update; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Portuguese (Brazil))

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Portuguese (Brazil) OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Updates; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Portuguese)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Portuguese OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Update; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Russian)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Russian OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Update; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Slovak)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Slovak OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Updates; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Slovenian)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Slovenian OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Updates; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Spanish)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Spanish OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Updates; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Swedish)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Swedish OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Updates; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Thai)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*+
Language: Thai OS: 32-Bit Win Release Date: N/A
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Update; Updated Microsoft Virtual Machine
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues will be made late Spring 1999.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and will be the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATE (shipped December 1998)

Windows 98 users:
Please start the Windows Update service from the link on the Start menu.
All other users:
For information on Windows 98, please go to the Windows 98 Web site.

For information on how to receive the Win98 Year2000 Update CD, please contact your local subsidiary. Please check http://www.microsoft.com/worldwide/ for local contact information.

PRODUCT ISSUES:

Issues identified (April 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting two digit years and provides a 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept 00 for the year 2000.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

Previously Resolved Issues

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the Windows 98 Y2K Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide http://www.microsoft.com/technet/promo/javavm.htm for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The view call log option doesn't display date as expected after successful completion of telephone call. If date is adjusted to the year 2000, the date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not return the proper date. To ensure proper handling of dates, set Regional Settings to 4-digit date handling.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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).

MFC40.DLL – Performing a File\Save after the year 1999 creates a .nfo file with a date stamp that displays the year incorrectly (01/01/2000 displays as 01/01/100).

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the

MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the BIOS section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98  4.10.1998   (Turkish)

Product Summary
Product: Windows 98 Version: 4.10.1998 Category:Compliant*
Language: Turkish OS: 32-Bit Win Release Date: 25 Jun 1998
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: Windows 98 Year 2000 Updates; Updated Microsoft Virtual Machine; Outlook Express 4.01 software update
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 02 Nov 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers’ Year 2000 efforts, Microsoft intends to maintain Windows 98 as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

 Updated Information

Additional year 2000 issues have been identified in our on-going tests (April 1999) of Windows 98 and they are detailed below. A software update that addresses these issues is now available.

The Windows 98 Year 2000 update that was made available in December 1998 will continue to be available, and is the foundation for this subsequent update.

INSTALLATION OF WINDOWS 98 YEAR 2000 UPDATES

Windows 98 users:

Please start the Windows Update service from the link on the Start menu. This will prompt you to install the appropriate year 2000 updates for your Windows 98 system.

All other users:

For information on Windows 98, please go to the Windows 98 Web site.

To download individual year 2000 updates for Windows 98, go to the Windows 98 Update for Corporate IT Managers.

To receive the Year 2000 Resource Center CD from Microsoft, please contact your local subsidiary. For local contact information please check Microsoft International.

RESOLVED PRODUCT ISSUES:

Outlook Express Issue (Q234680/Q234681)

If Outlook Express (OE) 4.01 (Service Pack 1 or Service Pack 2) receives an IMAP mail message or a News message with a 2-digit year as the sent date, the date can be misinterpreted under certain conditions.  If the 2-digit year is anything other than "99", OE will assume the century value is the same as the current century.  If the current year is 2000, and a 2-digit date is received as "97", then the year will be interpreted as 2097.  However, there is one special case when different logic is applied.  If the 2-digit year "99" is received and the current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). 

A software update is available for this issue. There is a separate update if you are running Outlook Express 4.01 SP1 or Outlook Express 4.01 SP2. The software update is found here.

Issues resolved with Year 2000 Update #2 (released June 1999)

OLE Automation: The Microsoft Automation library contains routines for interpreting 2-digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 98 the current 2-digit year cutoff is 2029. This means that 2-digit years beginning with 30 will be interpreted as being in the 1900s, 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 For systems using the International date format "yy-mm-dd" 2-digit years are not handled correctly. When a system is configured to use the date format "yy-mm-dd" in Control Panel \ Regional Settings, xcopy will not accept "00" for the year 2000.

MQRT.DLL (Q230050) Microsoft Message Queue (MSMQ) is installed as part of Personal Web Server and works with two types of digital certificates – external and internal. 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.

 Previously Resolved Issues (Year 2000 update released December 1998)

Microsoft identified and updated the following issues found in Windows 98 with the existing Windows 98 Year 2000 update.

MICROSOFT VIRTUAL MACHINE Year 2000 issues have been reported in connection with Microsoft virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. Note: The Microsoft Virtual Machine Version 2405 (2424) that ships with Windows 98 Gold and the version included with Windows 98 Year 2000 Update has year 2000 date related issue(s). Please refer to the Microsoft Virtual Machine Year 2000 Product Guide for details and recommendations to address issues.

MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, the user must enter month, day, and year for expiration dates beyond 2000. Otherwise, some information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1 of the current year.

DIALER.EXE - Phone Dialer applet. The Show Call log option doesn't display date as expected after successful completion of a telephone call. If system date is adjusted to the year 2000, the log date will display as 100, 101, 102, etc.

COMCTL32.DLL - When Regional Settings from Control Panel is set to use 2 digits for years, the Date/Time Picker function may not display the proper date. To ensure proper display of dates, set Regional Settings to 4-digit date display.

TIMEDATE.CPL -Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.

DOCPROP.DLL - When viewing the properties of Microsoft WordPad or Microsoft Office documents and setting custom date information, the year 2000 will not be accepted as a valid entry when entered as "00". Two-digit dates are assumed to be in the 1900s.

IO.SYS - If the system is booted at a precise point when the RTC (Real Time Clock) date rolls over at midnight, the system clock may display an inaccurate time/date. Rebooting the computer corrects this problem.

MSDADC.DLL - OLE DB year 2000 issues for data coercion library are:

If coding to ADO,

AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp.
AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98)
AND the specified year is less than 60,

THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

If coding directly to OLE DB, the same case exists:

If the user is converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:

DBTYPE_DATE

DBTYPE_DBDATE

DBTYPE_DBTIME

DBTYPE_FILETIME

DBTYPE_DBTIMESTAMP

AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98),

AND the specified year less than 60,
THEN Data Convert (msdadc.dll) may translate the date as a time. For example, 01.01.01 (January 1, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).

VDHCP.386 - Winipcfg /all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date.

XCOPY32.MOD – 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 1900s (02/05/01 is seen as 02/05/1901).

MFC40.DLL – After the year 2000, programs that use the COleDateTime function may improperly parse a date. To view an example of this after the year 2000, from Programs\Accessories\System Tools run System Information (msinfo32.exe) and save the file. Open this .nfo extension file, and from the File menu select Properties. The date stamp may display the improper date. For example, 02/05/2000 may display as 2/05/100.

Common Date Usage Errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please check out the Microsoft Developer Network article.

INTL.CPL. For International versions of Windows 98 where a user can choose between localized and non-localized Gregorian system calendars (in Control Panel/Regional Settings), the century window can be configured individually for each Gregorian calendar. An error occurs when applications that use Visual Basic, such as Access, convert a date that utilizes the century window settings for the default calendar, while a user would expect instead that the currently selected calendar and settings would be used. This does not affect English versions of Windows 98.

This is an issue with customizable date setting that a user should be aware of, and not a year 2000 issue. This issue can be worked around and resolved in the following manner:

If you change the century window setting in Control Panel\Regional Settings for one Gregorian calendar, change all other Gregorian calendars to the same century window. For example, when changing one calendar century window from 1930-2029 to 1936-2035, change all other Gregorian calendar century windows to the same date range.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOSÒ file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOSÒ API the program must add 1980.

Two-digit shortcut handling:

MS-DOSÒ DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOSÒ file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

Testing guidelines and recommendations:

Microsoft Jet Database Engine 3.5 and Microsoft Office 97

When users try to synchronize two members of a replica set that was created before the year 2000, and the current date on the computer is after the year 2000, a synchronization message might appear. This is because of how the expression service mishandles date entries in the MSysExchangeLog table in replicas. When a replica set created before the year 2000 is compacted after the year 2000, exchange information relating to synchronizations after the year 2000 is deleted from the MSysExchangeLog table. After this information is deleted, the generation information in the MSysExchangeLog table and the MSysGenHistory table do not match, and the replicas cannot be synchronized. To resolve this issue, download the latest Microsoft Office 97 Service Release from the Microsoft Web site at http://officeupdate.microsoft.com/

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If users are going to test for this, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the article Windows Operating System Interactions with BIOS and Real Time Clock in the white paper section for further information.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Arabic)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Arabic OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Chinese - Simplified)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Chinese - Simplified OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Chinese - Traditional)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Chinese - Traditional OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Danish)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Danish OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Dutch)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Dutch OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (English)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: English OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Finnish)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Finnish OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (French)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: French OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (German)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: German OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Greek)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Greek OS: 32-Bit Win Release Date: N/A
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 25 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Hebrew)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Hebrew OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Hungarian)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Hungarian OS: 32-Bit Win Release Date: N/A
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 25 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Italian)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Italian OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Japanese)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Japanese OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Korean)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Korean OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Norwegian)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Norwegian OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Pan-Chinese)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Pan-Chinese OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Portuguese (Brazil))

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Portuguese (Brazil) OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Portuguese)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Portuguese OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Russian)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Russian OS: 32-Bit Win Release Date: N/A
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 25 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Spanish)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Spanish OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Swedish)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Swedish OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Thai)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Thai OS: 32-Bit Win Release Date: 10 Jun 1999
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC Bios
Last Updated: 20 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows 98 Second Edition  4.10.2222   (Turkish)

Product Summary
Product: Windows 98 Second Edition Version: 4.10.2222 Category:Compliant
Language: Turkish OS: 32-Bit Win Release Date: N/A
Operational Range: 01 Jan 1980 - 31 Dec 2035
Prerequisites: None
Product Dependencies: None
Clock Dependencies: PC BIOS
Last Updated: 25 Oct 1999
Product Details

Product Details

Product Maintenance: While Microsoft continues to recommend that customers install the most current Service Pack/Release for non-Year 2000 reasons, we understand that, for many reasons, this may not be possible. In order to aid our customers' Year 2000 efforts, Microsoft intends to maintain Windows 98 Second Edition as compliant through January 1, 2001. Newer Service Packs are also to be maintained as compliant, and may include additional non-Year 2000 updates. This is intended to minimize the Year 2000 as a reason to upgrade.

Updated Information:

Windows 98 Second Edition includes the year 2000 software updates for all issues identified during testing of the first edition of Windows 98, up through May 1999.

How the product handles dates:

Storage:

Dates are stored internally as 4-digit dates. MS-DOS file system Application Programming Interfaces (APIs) are an exception. MS-DOS® file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS® API the program must add 1980.

Two-digit shortcut handling:

MS-DOS® DATE command accepts dates in both 2-digit and 4-digit formats. If the user enters a 2-digit value less than 80, the Date command assumes it to be 20XX.

Also, the MS-DOS® file system APIs return a year offset from 1980. The programmer has to add 1980 to the date value returned to get the appropriate date. This does not affect Win32 APIs.

Explorer (EXPLORER.EXE) by default displays 2-digit dates to provide application compatibility for older programs. To view 4-digit dates, select 4-digit dates in Control Panel, Regional Settings.

 

Common date usage errors:

JScript Date.getYear() & Date.setYear() methods The JSCRIPT method .getYear() returns a 2-digit string for years within the operational range up to 1999. The method returns a 4-digit string for years within the operational range from 2000. Web authors can use the method .getFullYear(), which returns 4-digit dates. For more information please review the Microsoft Developer Network article.

Testing guidelines and recommendations:

Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.0   (English)

Product Summary
Product: Windows CE Version: 2.0 Category:Compliant#
Language: English OS: Win CE Release Date: 15 Oct 1997
Operational Range: -
Prerequisites: NONE
Product Dependencies: NONE
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: Original Equipment Manufacturer (OEM) dependent.

How the product handles dates:
Windows CE stores a compressed year in the OAL (HAL) layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:
Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit dates from 00-29 are converted to 2000-2029.

Two-digit dates from 30-99 are converted to 1930-1999.

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The Operating System itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM's real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:
Microsoft recommends OEMs call GetSystemTime and SetSystemTime to ensure the system clock is correct.  These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance.  The testing would consist of trying to set various dates and then checking the result of these attempts.

Locale Date formats for SSHORTDATE

The Locale tables that ship with Windows CE 2.0 do not contain 4-digit date formats for all locales.  To supplement the date formats for a locale, an ISV can supply a date format to the GetDateFormat() API or use a format specified by SLONGDATE.  An OEM is not encouraged to change the locale data files but instead add a system applet to enable date format overrides.

Locales not supporting 4-digit SSHORTDATE

Catalan - Spain
German - Switzerland
German - Liechtenstein
English - United Kingdom
English - Australia
English - Canada
English - New Zealand
English - Ireland
English - South Africa
English - Caribbean
Spanish - Spain (Traditional Sort)
Spanish - Mexico
Spanish - Spain (Modern Sort)
French - Belgium
French - Canada
French - Switzerland
Hebrew - Israel
Italian - Switzerland
Dutch - Netherlands
Dutch - Belgium
Polish - Poland
Russian - Russia
Serbian - Serbia (Latin)
Serbian - Serbia (Cyrillic)
Albanian - Albania
Indonesian - Indonesia
Ukrainian - Ukraine
Belarusian - Belarus
Estonian - Estonia
Latvian - Latvia
Vietnamese - Viet Nam
Basque - Spain
Macedonian - Republic of Macedonia
Afrikaans - South Africa
Faeroese - Faeroe Islands
Malay - Malaysia
Malay - Brunei Darussalam

 

What are the issues?:

The number of digits specified for a date's century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:

If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.

If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

The value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this an application can retrieve the short date format and count the number of 'y's that are in the year format.

In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example:

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.1   (Dutch)

Product Summary
Product: Windows CE Version: 2.1 Category:Compliant#
Language: Dutch OS: Win CE Release Date: 15 Jun 1998
Operational Range: -
Prerequisites: none
Product Dependencies: none
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: Original Equipment Manufacturer (OEM) dependent.

How the product handles dates:

Windows CE stores a compressed year in the OAL (HAL) layer which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

2-Digit 4-Digit

28 2028

29 2029

30 1930

31 1931

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The OS itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

What are the Issues?:

1) The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:

  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. The Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, or vice versa.
  2. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

In both cases the value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this an application can retrieve the short date format and count the number of ‘y’s that are in the year format.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.1   (English)

Product Summary
Product: Windows CE Version: 2.1 Category:Compliant#
Language: English OS: Win CE Release Date: 15 Jun 1998
Operational Range: -
Prerequisites: none
Product Dependencies: none
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: Original Equipment Manufacturer (OEM) dependent.

How the product handles dates:

Windows CE stores a compressed year in the OAL (HAL) layer which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

2-Digit 4-Digit

28 2028

29 2029

30 1930

31 1931

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The OS itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

What are the Issues?:

1) The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:

  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. The Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, or vice versa.
  2. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

In both cases the value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this an application can retrieve the short date format and count the number of ‘y’s that are in the year format.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.1   (French)

Product Summary
Product: Windows CE Version: 2.1 Category:Compliant#
Language: French OS: Win CE Release Date: 15 Jun 1998
Operational Range: -
Prerequisites: none
Product Dependencies: none
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: Original Equipment Manufacturer (OEM) dependent.

How the product handles dates:

Windows CE stores a compressed year in the OAL (HAL) layer which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

2-Digit 4-Digit

28 2028

29 2029

30 1930

31 1931

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The OS itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

What are the Issues?:

1) The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:

  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. The Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, or vice versa.
  2. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

In both cases the value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this an application can retrieve the short date format and count the number of ‘y’s that are in the year format.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.1   (German)

Product Summary
Product: Windows CE Version: 2.1 Category:Compliant#
Language: German OS: Win CE Release Date: 15 Jun 1998
Operational Range: -
Prerequisites: none
Product Dependencies: none
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: Original Equipment Manufacturer (OEM) dependent.

How the product handles dates:

Windows CE stores a compressed year in the OAL (HAL) layer which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

2-Digit 4-Digit

28 2028

29 2029

30 1930

31 1931

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The OS itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

What are the Issues?:

1) The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:

  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. The Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, or vice versa.
  2. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

In both cases the value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this an application can retrieve the short date format and count the number of ‘y’s that are in the year format.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.1   (Italian)

Product Summary
Product: Windows CE Version: 2.1 Category:Compliant#
Language: Italian OS: Win CE Release Date: 15 Jun 1998
Operational Range: -
Prerequisites: none
Product Dependencies: none
Clock Dependencies: OS system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: Original Equipment Manufacturer (OEM) dependent.

How the product handles dates:

Windows CE stores a compressed year in the OAL (HAL) layer which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

2-Digit 4-Digit

28 2028

29 2029

30 1930

31 1931

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The OS itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

What are the Issues?:

1) The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:

  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. The Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, or vice versa.
  2. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

In both cases the value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this an application can retrieve the short date format and count the number of ‘y’s that are in the year format.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.1   (Japanese)

Product Summary
Product: Windows CE Version: 2.1 Category:Compliant#
Language: Japanese OS: Win CE Release Date: 15 Jun 1998
Operational Range: -
Prerequisites: none
Product Dependencies: none
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: Original Equipment Manufacturer (OEM) dependent.

How the product handles dates:

Windows CE stores a compressed year in the OAL (HAL) layer which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

2-Digit 4-Digit

28 2028

29 2029

30 1930

31 1931

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The OS itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

What are the Issues?:

1) The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:

  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. The Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, or vice versa.
  2. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

In both cases the value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this an application can retrieve the short date format and count the number of ‘y’s that are in the year format.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.1   (Portuguese (Brazil))

Product Summary
Product: Windows CE Version: 2.1 Category:Compliant#
Language: Portuguese (Brazil) OS: Win CE Release Date: 15 Jun 1998
Operational Range: -
Prerequisites: none
Product Dependencies: none
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: Original Equipment Manufacturer (OEM) dependent.

How the product handles dates:

Windows CE stores a compressed year in the OAL (HAL) layer which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

2-Digit 4-Digit

28 2028

29 2029

30 1930

31 1931

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The OS itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

What are the Issues?:

1) The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:

  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. The Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, or vice versa.
  2. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

In both cases the value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this an application can retrieve the short date format and count the number of ‘y’s that are in the year format.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.1   (Portuguese)

Product Summary
Product: Windows CE Version: 2.1 Category:Compliant#
Language: Portuguese OS: Win CE Release Date: 15 Jun 1998
Operational Range: -
Prerequisites: none
Product Dependencies: none
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: Original Equipment Manufacturer (OEM) dependent.

How the product handles dates:

Windows CE stores a compressed year in the OAL (HAL) layer which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

2-Digit 4-Digit

28 2028

29 2029

30 1930

31 1931

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The OS itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

What are the Issues?:

1) The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:

  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. The Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, or vice versa.
  2. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

In both cases the value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this an application can retrieve the short date format and count the number of ‘y’s that are in the year format.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.1   (Spanish)

Product Summary
Product: Windows CE Version: 2.1 Category:Compliant#
Language: Spanish OS: Win CE Release Date: 15 Jun 1998
Operational Range: -
Prerequisites: none
Product Dependencies: none
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: Original Equipment Manufacturer (OEM) dependent.

How the product handles dates:

Windows CE stores a compressed year in the OAL (HAL) layer which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

2-Digit 4-Digit

28 2028

29 2029

30 1930

31 1931

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The OS itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

What are the Issues?:

1) The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:

  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. The Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, or vice versa.
  2. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

In both cases the value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this an application can retrieve the short date format and count the number of ‘y’s that are in the year format.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.1   (Swedish)

Product Summary
Product: Windows CE Version: 2.1 Category:Compliant#
Language: Swedish OS: Win CE Release Date: 15 Jun 1998
Operational Range: -
Prerequisites: none
Product Dependencies: none
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: Original Equipment Manufacturer (OEM) dependent.

How the product handles dates:

Windows CE stores a compressed year in the OAL (HAL) layer which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

2-Digit 4-Digit

28 2028

29 2029

30 1930

31 1931

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The OS itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

What are the Issues?:

1) The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:

  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. The Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, or vice versa.
  2. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

In both cases the value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this an application can retrieve the short date format and count the number of ‘y’s that are in the year format.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.

 

 


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.11   (Dutch)

Product Summary
Product: Windows CE Version: 2.11 Category:Compliant#
Language: Dutch OS: Win CE Release Date: 06 Dec 1998
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have two-digit shortcut conversion logic, but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00 to 29 are interpreted as 2000 to 2029.

Two-digit years 30 to 99 are interpreted as 1930 to 1999.

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

Microsoft recommends OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

Acceptable deviations:

  1. The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:
  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

The value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this, an application can retrieve the short date format and count the number of digits that are in the year format.

If the Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, then the LOCALE_CENTURY updated to reflect the change.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.11   (English)

Product Summary
Product: Windows CE Version: 2.11 Category:Compliant#
Language: English OS: Win CE Release Date: 06 Dec 1998
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have two-digit shortcut conversion logic, but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00 to 29 are interpreted as 2000 to 2029.

Two-digit years 30 to 99 are interpreted as 1930 to 1999.

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

Microsoft recommends OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

Acceptable deviations:

  1. The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:
  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

The value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this, an application can retrieve the short date format and count the number of digits that are in the year format.

If the Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, then the LOCALE_CENTURY updated to reflect the change.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.11   (French)

Product Summary
Product: Windows CE Version: 2.11 Category:Compliant#
Language: French OS: Win CE Release Date: 06 Dec 1998
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have two-digit shortcut conversion logic, but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00 to 29 are interpreted as 2000 to 2029.

Two-digit years 30 to 99 are interpreted as 1930 to 1999.

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

Microsoft recommends OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

Acceptable deviations:

  1. The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:
  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

The value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this, an application can retrieve the short date format and count the number of digits that are in the year format.

If the Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, then the LOCALE_CENTURY updated to reflect the change.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.11   (German)

Product Summary
Product: Windows CE Version: 2.11 Category:Compliant#
Language: German OS: Win CE Release Date: 06 Dec 1998
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have two-digit shortcut conversion logic, but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00 to 29 are interpreted as 2000 to 2029.

Two-digit years 30 to 99 are interpreted as 1930 to 1999.

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

Microsoft recommends OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

Acceptable deviations:

  1. The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:
  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

The value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this, an application can retrieve the short date format and count the number of digits that are in the year format.

If the Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, then the LOCALE_CENTURY updated to reflect the change.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.11   (Italian)

Product Summary
Product: Windows CE Version: 2.11 Category:Compliant#
Language: Italian OS: Win CE Release Date: 06 Dec 1998
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have two-digit shortcut conversion logic, but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00 to 29 are interpreted as 2000 to 2029.

Two-digit years 30 to 99 are interpreted as 1930 to 1999.

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

Microsoft recommends OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

Acceptable deviations:

  1. The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:
  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

The value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this, an application can retrieve the short date format and count the number of digits that are in the year format.

If the Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, then the LOCALE_CENTURY updated to reflect the change.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.11   (Japanese)

Product Summary
Product: Windows CE Version: 2.11 Category:Compliant#
Language: Japanese OS: Win CE Release Date: 06 Dec 1998
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have two-digit shortcut conversion logic, but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00 to 29 are interpreted as 2000 to 2029.

Two-digit years 30 to 99 are interpreted as 1930 to 1999.

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

Microsoft recommends OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

Acceptable deviations:

  1. The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:
  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

The value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this, an application can retrieve the short date format and count the number of digits that are in the year format.

If the Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, then the LOCALE_CENTURY updated to reflect the change.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.11   (Portuguese (Brazil))

Product Summary
Product: Windows CE Version: 2.11 Category:Compliant#
Language: Portuguese (Brazil) OS: Win CE Release Date: 06 Dec 1998
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have two-digit shortcut conversion logic, but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00 to 29 are interpreted as 2000 to 2029.

Two-digit years 30 to 99 are interpreted as 1930 to 1999.

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

Microsoft recommends OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

Acceptable deviations:

  1. The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:
  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

The value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this, an application can retrieve the short date format and count the number of digits that are in the year format.

If the Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, then the LOCALE_CENTURY updated to reflect the change.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.11   (Spanish)

Product Summary
Product: Windows CE Version: 2.11 Category:Compliant#
Language: Spanish OS: Win CE Release Date: 06 Dec 1998
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have two-digit shortcut conversion logic, but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00 to 29 are interpreted as 2000 to 2029.

Two-digit years 30 to 99 are interpreted as 1930 to 1999.

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

Microsoft recommends OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

Acceptable deviations:

  1. The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:
  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

The value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this, an application can retrieve the short date format and count the number of digits that are in the year format.

If the Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, then the LOCALE_CENTURY updated to reflect the change.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.11   (Swedish)

Product Summary
Product: Windows CE Version: 2.11 Category:Compliant#
Language: Swedish OS: Win CE Release Date: 06 Dec 1998
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have two-digit shortcut conversion logic, but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00 to 29 are interpreted as 2000 to 2029.

Two-digit years 30 to 99 are interpreted as 1930 to 1999.

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

Microsoft recommends OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.

Acceptable deviations:

  1. The number of digits specified for a date’s century can be either 2 or 4 (e.g., 98 or 1998). This information is returned when GetLocaleInfo is used to request LOCALE_ICENTURY. The results of a request for the century information is based on the following:
  1. If the default value has not been overridden then the value returned is the default for the locale. The value returned by LOCAL_ICENTURY is based on the format of the default short date (LOCALE_SSHORTDATE). If the format of the short date is "yy" then a 2-digit century format is specified otherwise if the format is "yyyy" then a 4-digit century format is specified.
  2. If SetLocaleInfo is used with LOCALE_ICENTURY to change (override) the current default century format from a 2-digit to a 4-digit century format or vice versa.

The LOCAL_ICENTURY value for the current short date format is not updated to reflect the current century information if:

  1. Using SetLocaleInfo(LOCALE_SSHORTDATE) the default short date format is changed from a 4-digit year to a 2-digit year, or vice versa.

The value returned for LOCALE_ICENTURY is the same as before the date format was changed. To compensate for this, an application can retrieve the short date format and count the number of digits that are in the year format.

If the Regional Control Panel is used to change the default short date format from a 4-digit year to a 2-digit year, then the LOCALE_CENTURY updated to reflect the change.

2) In the OLE APIs VarDateFromStr() and VarBstrFromDate() there is an ambiguity between their treatment of 2-digit years. OLE has standardized on an interpretation whereby it assumes that 2-digit years lie in the range 1930-2029 (i.e. it interprets 1/1/30 as 1/1/1930 and 1/1/29 and 1/1/2029). This is the range used by the VarDateFromStr() function which converts a string date into an internal unambiguous data format. This is the same behavior as Windows NT and Windows 95.

The reverse function VarBstrFromDate(), which outputs an internal date as a string, outputs a 2-digit year as if the year was in the range 1900-1999. This range does not match the range used by VarDateFromStr() and can result is some strange effects if an app were to use these functions to convert back & forth repeatedly, for example

VarDateFromStr() 1/1/1929 -> internally stored as 1929

VarBstrFromDate() internal 1929 -> output as 1/1/29

VarDateFromStr() 1/1/29 -> internally stored as 2029

VarBstrFromDate() internal 2029 -> output as 1/1/2029

The easiest way to avoid this issue is to not use a 2-digit year.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.12   (Dutch)

Product Summary
Product: Windows CE Version: 2.12 Category:Compliant
Language: Dutch OS: Win CE Release Date: 09 Jul 1999
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00-29 are converted to 2000-2029

Two-digit years 30-99 are converted to 1930-1999

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.12   (English)

Product Summary
Product: Windows CE Version: 2.12 Category:Compliant
Language: English OS: Win CE Release Date: 09 Jul 1999
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00-29 are converted to 2000-2029

Two-digit years 30-99 are converted to 1930-1999

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.12   (French)

Product Summary
Product: Windows CE Version: 2.12 Category:Compliant
Language: French OS: Win CE Release Date: 09 Jul 1999
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00-29 are converted to 2000-2029

Two-digit years 30-99 are converted to 1930-1999

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.12   (German)

Product Summary
Product: Windows CE Version: 2.12 Category:Compliant
Language: German OS: Win CE Release Date: 09 Jul 1999
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00-29 are converted to 2000-2029

Two-digit years 30-99 are converted to 1930-1999

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.12   (Italian)

Product Summary
Product: Windows CE Version: 2.12 Category:Compliant
Language: Italian OS: Win CE Release Date: 09 Jul 1999
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00-29 are converted to 2000-2029

Two-digit years 30-99 are converted to 1930-1999

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.12   (Japanese)

Product Summary
Product: Windows CE Version: 2.12 Category:Compliant
Language: Japanese OS: Win CE Release Date: 09 Jul 1999
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00-29 are converted to 2000-2029

Two-digit years 30-99 are converted to 1930-1999

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.12   (Korean)

Product Summary
Product: Windows CE Version: 2.12 Category:Compliant
Language: Korean OS: Win CE Release Date: 09 Jul 1999
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00-29 are converted to 2000-2029

Two-digit years 30-99 are converted to 1930-1999

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.12   (Portuguese (Brazil))

Product Summary
Product: Windows CE Version: 2.12 Category:Compliant
Language: Portuguese (Brazil) OS: Win CE Release Date: 09 Jul 1999
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00-29 are converted to 2000-2029

Two-digit years 30-99 are converted to 1930-1999

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.12   (Portuguese)

Product Summary
Product: Windows CE Version: 2.12 Category:Compliant
Language: Portuguese OS: Win CE Release Date: 09 Jul 1999
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00-29 are converted to 2000-2029

Two-digit years 30-99 are converted to 1930-1999

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Microsoft Year 2000 Resource Center
Windows CE  2.12   (Spanish)

Product Summary
Product: Windows CE Version: 2.12 Category:Compliant
Language: Spanish OS: Win CE Release Date: 09 Jul 1999
Operational Range: -
Prerequisites: None
Product Dependencies: None
Clock Dependencies: operating system clock and OLEAUT32
Last Updated: 21 Sep 1999
Product Details

Operational Range for Data: OEM dependent.

How the product handles dates:

Windows CE stores a compressed year in the OEM Adaptation Layer, which is controlled by an OEM. It is up to the OEM to store this data with most specifying a 100-year range (i.e. 1950 – 2049). Windows CE takes and returns a 4-digit year except in the OAL layer that talks directly to the hardware. External interfaces for Windows CE are 4-digit years.

Two-digit shortcut handling:

Windows CE does not have any such conversion logic but OLE does. OLE converts a 2-digit date to a 4-digit date using the following rules:

Two-digit years 00-29 are converted to 2000-2029

Two-digit years 30-99 are converted to 1930-1999

OLE programmatically uses 4-Digit dates. The only place that this conversion is used is when an application is supplied a 2-digit string representing a year and OLE is required to convert it. The operating system itself does not rely of this conversion.

Common date usage errors:

Windows CE is dependent upon the OEM and their implementation of the OEM’s real-time clock APIs. The OEM must provide the correct information in their OAL/hardware to maintain proper date handling.

Testing guidelines and recommendations:

We recommend OEMs call GetSystemTime, SetSystemTime, and CeSetUserNotification to ensure the system clock is correct. These APIs will in turn call the OEM real-time clock functions that need to be tested for compliance. The testing would consist of trying to set various dates and then checking the result of these attempts. The OEM functions that will be exercised are OEMSetRealTime, OEMGetRealTime and OEMSetAlarmTime.


Legend of Symbols:
*The product is compliant. User action is recommended, which may include loading a software update or assessing shared technology.
#The product is compliant with an acceptable deviation from Microsoft's standard of compliance. An acceptable deviation does not affect the core functionality, data integrity, stability or reliability of the product.
+The product is compliant . Software updates are pending. Future maintenance actions will be recommended shortly.
Note: Compliance ratings given for each product assume that all recommended actions have been taken.


Itemized List of products in each Volume

YEAR 2000 READINESS DISCLOSURE

ALL COMMUNICATIONS OR CONVEYANCES OF INFORMATION TO YOU CONCERNING MICROSOFT AND THE YEAR 2000, INCLUDING BUT NOT LIMITED TO THIS DOCUMENT OR ANY OTHER PAST, PRESENT OR FUTURE INFORMATION REGARDING YEAR 2000 TESTING, ASSESSMENTS, READINESS, TIME TABLES, OBJECTIVES, OR OTHER (COLLECTIVELY THE "MICROSOFT YEAR 2000 STATEMENT"), ARE PROVIDED AS A "YEAR 2000 READINESS DISCLOSURE" (AS DEFINED BY THE YEAR 2000 INFORMATION AND READINESS DISCLOSURE ACT) AND CAN BE FOUND AT MICROSOFT'S YEAR 2000 WEBSITE LOCATED AT http://microsoft.com/year2000/ (the "Y2K WEBSITE"). EACH MICROSOFT YEAR 2000 STATEMENT IS PROVIDED PURSUANT TO THE TERMS HEREOF, THE TERMS OF THE Y2K WEBSITE, AND THE YEAR 2000 INFORMATION AND READINESS DISCLOSURE ACT FOR THE SOLE PURPOSE OF ASSISTING THE PLANNING FOR THE TRANSITION TO THE YEAR 2000. EACH MICROSOFT YEAR 2000 STATEMENT CONTAINS INFORMATION CURRENTLY AVAILABLE AND IS UPDATED REGULARLY AND SUBJECT TO CHANGE. MICROSOFT THEREFORE RECOMMENDS THAT YOU CHECK THE Y2K WEBSITE REGULARLY FOR ANY CHANGES TO ANY MICROSOFT YEAR 2000 STATEMENT. EACH MICROSOFT YEAR 2000 STATEMENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. CONSEQUENTLY, MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. MOREOVER, MICROSOFT DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OR THE RESULTS OF THE USE OF ANY MICROSOFT YEAR 2000 STATEMENT IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY, OR OTHERWISE. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY MICROSOFT OR ITS AUTHORIZED REPRESENTATIVES SHALL CREATE A WARRANTY OR IN ANY WAY DECREASE THE SCOPE OF THIS WARRANTY DISCLAIMER. IN NO EVENT SHALL MICROSOFT OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER REGARDING ANY MICROSOFT YEAR 2000 STATEMENT INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS, PUNITIVE OR SPECIAL DAMAGES, EVEN IF MICROSOFT OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, SO THE FOREGOING LIMITATION MAY NOT APPLY TO YOU. THE INFORMATION CONTAINED IN EACH MICROSOFT YEAR 2000 STATEMENT IS FOUND AT THE Y2K WEBSITE AND IS INTENDED TO BE READ IN CONJUNCTION WITH OTHER INFORMATION LOCATED AT THE Y2K WEBSITE, INCLUDING BUT NOT LIMITED TO MICROSOFT'S YEAR 2000 COMPLIANCE STATEMENT, THE DESCRIPTION OF THE CATEGORIES OF COMPLIANCE INTO WHICH MICROSOFT HAS CLASSIFIED ITS PRODUCTS IN ITS YEAR 2000 PRODUCT GUIDE, AND THE MICROSOFT YEAR 2000 TEST CRITERIA.

ANY MICROSOFT YEAR 2000 STATEMENTS MADE TO YOU IN THE COURSE OF PROVIDING YEAR 2000 RELATED UPDATES, YEAR 2000 DIAGNOSTIC TOOLS, OR REMEDIATION SERVICES (IF ANY) ARE SUBJECT TO THE YEAR 2000 INFORMATION AND READINESS DISCLOSURE ACT (112 STAT. 2386). IN CASE OF A DISPUTE, THIS ACT MAY REDUCE YOUR LEGAL RIGHTS REGARDING THE USE OF ANY SUCH STATEMENTS, UNLESS OTHERWISE SPECIFIED BY YOUR CONTRACT OR TARIFF.

Wednesday, November 17, 1999
© 1999 Microsoft Corporation. All rights reserved. Terms of use.

This site is being designated as a Year 2000 Readiness Disclosure and the information contained herein is provided pursuant to the terms hereof and the Year 2000 Information and Readiness Disclosure Act.