01 Jan 1980 - 31 Dec 2035 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systems Management Server 1.2 Service Pack 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 (Service Pack 3) or later or Windows NT Server 4.0, Microsoft SQL Server 6.5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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. |
01 Jan 1980 - 31 Dec 2035 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systems Management Server 1.2 Service Pack 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 (Service Pack 3) or later or Windows NT Server 4.0, Microsoft SQL Server 6.5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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. |
01 Jan 1980 - 31 Dec 2035 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systems Management Server 1.2 Service Pack 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 (Service Pack 3) or later or Windows NT Server 4.0, Microsoft SQL Server 6.5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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. |
01 Jan 1980 - 31 Dec 2035 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systems Management Server 1.2 Service Pack 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 (Service Pack 3) or later or Windows NT Server 4.0, Microsoft SQL Server 6.5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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. |
01 Jan 1980 - 31 Dec 2035 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systems Management Server 1.2 Service Pack 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 (Service Pack 3) or later or Windows NT Server 4.0, Microsoft SQL Server 6.5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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. |
01 Jan 1980 - 31 Dec 2035 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systems Management Server 1.2 Service Pack 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 (Service Pack 3) or later or Windows NT Server 4.0, Microsoft SQL Server 6.5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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. |
01 Jan 1980 - 31 Dec 2035 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systems Management Server 1.2 Service Pack 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 (Service Pack 3) or later or Windows NT Server 4.0, Microsoft SQL Server 6.5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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. |
01 Jan 1980 - 31 Dec 2035 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systems Management Server 1.2 Service Pack 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 (Service Pack 3) or later or Windows NT Server 4.0, Microsoft SQL Server 6.5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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. |
01 Jan 1980 - 31 Dec 2035 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systems Management Server 1.2 Service Pack 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 (Service Pack 3) or later or Windows NT Server 4.0, Microsoft SQL Server 6.5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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. |
01 Jan 1980 - 31 Dec 2035 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systems Management Server 1.2 Service Pack 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 (Service Pack 3) or later or Windows NT Server 4.0, Microsoft SQL Server 6.5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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. |
01 Jan 1980 - 31 Dec 2035 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systems Management Server 1.2 Service Pack 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 (Service Pack 3) or later or Windows NT Server 4.0, Microsoft SQL Server 6.5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
01 Jan 1996 - 31 Dec 2035 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
None | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows NT Server 3.51 Service Pack 5 plus Year 2000 updates, Windows NT Server 4.0 Service Pack 4 plus Year 2000 updates, SQL Server 6.5 Service Pack 5, SQL Server 7.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
System Clock | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 Oct 1999 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Systems Management Server 2.0 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.The Systems Management Server Installer, freely available as a web download for all version 1.2 customers and included with Systems Management Server 2.0, is also compliant from version 2.0.64 onwards (this is the version that shipped with Systems Management Server 2.0). The current version at http://www.microsoft.com/smsmgmt/downloads/install.asp is compliant and older versions can be seamlessly upgraded to this version as needed.How the product handles dates: Microsoft Foundation Classes (MFC) CTime classes, and C run time functions handle internal processing of date and time information that support dates from 1/1/1970 through 12/31/2035 The Systems Management Server (SMS) 2.0 user interface utilizes Date and Time Picker Common Controls (DATETIMEPIC_CLASS) that are in COMCTL32.DLL. These support dates from 01/01/1976 through 12/31/2035 Two-digit shortcut handling: The Date and Time Picker Common Controls (DATETIMEPIC_CLASS) support 2-digit shortcut dates from 01/01/1976 through 12/31/2029. In other words 76 - 99 are interpreted as 1976 to 1999, and 00 - 29 are interpreted as 2000 - 2029. Dates before 01/01/1976 or after 12/31/2029 defaults to 01/01/1976. Note: Dates from 01/01/2030 through 12/31/2035 are valid, but the year must be entered using 4 digits. Testing guidelines and recommendations: Microsoft understands that for various reasons customers may be required to conduct their own year 2000 certification testing. Microsoft provides the test recommendations below to aid customers in conducting their own year 2000 certification of Microsoft Systems Management Server. SMS 2.0 Year 2000 Suggested Test Matrix
|
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. |
- | ||
None | ||
None | ||
None | ||
28 Oct 1999 | ||
How the product handles dates: Take Control system controller and the Take Control PC software do not handle dates or perform 2-digit shortcut interpretations. |
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. |
- | ||
None | ||
None | ||
None | ||
28 Oct 1999 | ||
How the product handles dates: Take Control system controller and the Take Control PC software do not handle dates or perform 2-digit shortcut interpretations. |
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. |
01 Jan 0100 - 31 Dec 9999 | ||
None | ||
None | ||
None | ||
14 Oct 1999 | ||
How the product handles dates: The product uses dates to determine taxation allowances for the tax year ending 5 April 1999. Although the product can accept a future date (i.e. 2000), the tax code does not require or ask of one. Out of range dates for the given tax year are identified via a validation process, which calculates whether the date falls within the tax law criteria, as the legislation requires it. Two-digit shortcut handling: Dates that can be entered are 4 digits as described by the UK Inland Revenue taxation authority Common date usage errors: Entering the date in an incorrect format (dd/mm/yyyy) shows an error message (tool tip that appears above the data entry point) the customer must correct before moving to the next data entry point. Testing guidelines and recommendations: Enter an illegal format into the date field or a date that is not in the format dd/mm/yyyy, will produce a message in the form of a tool tip that will need to be corrected before tabbing to the next field. |
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. |
01 Jan 1984 - 31 Dec 2050 | ||||
NONE | ||||
Windows 95 (12Mb RAM for Manager, 8Mb for resource), or Windows NT 3.51, or Windows NT 4 (16Mb RAM for Manager, 12Mb RAM for resource) | ||||
System Clock | ||||
21 Jun 1999 | ||||
Version: 1, Service Release-1 Description of how the product handles dates:
2-digit shortcut handling: Conversion of 2-digit shortcut assumes a date window of 1984 through 2050. Common date usage errors: Testing guidelines and recommendations: In general, avoid testing in a production environment because we cannot predict side effects with other products. Interoperability testing with other Microsoft Office products can be conducted safely. |
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. |
- | ||
None | ||
Windows 3.1, Windows 95, Windows NT | ||
None Known | ||
09 Dec 1998 | ||
Operational Range for Data: Tested though 2035The information in this Product Guide applies to the delivery software found on the monthly issues of TechNet CD-ROM subscription that allows users to access the content on the TechNet CD-ROM. How the product handles dates: The TechNet CD Delivery Software does not use dates. |
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. |
- | ||
Windows NT 4.0 SP4 | ||
26 Aug 1999 | ||
This component is an integral part of Windows NT Server. Click here to go to the Windows NT 4, sp4 compliance document. |
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. |
- | ||
NONE | ||
Win 95, Win NT 4 | ||
System Clock | ||
02 Nov 1999 | ||
How the product handles dates: No date handling or two-digit shortcut interpretation is performed. |
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. |
- | ||
NONE | ||
DOS or Win 3.1 | ||
System Clock | ||
02 Nov 1999 | ||
How the product handles dates: No date handling or two-digit shortcut interpretation is performed. |
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. |
15 Jul 1998 - 31 Dec 2035 | ||
None | ||
DirectX, DXMedia | ||
None | ||
27 Sep 1999 | ||
How the product handles dates: This product does not handle dates or perform 2-digit shortcut interpretations.
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
None | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
16 Nov 1999 | ||
This report applies to: Standard and Professional Editions of Microsoft Visual Basic 3.0 and 2.0 Microsoft Visual Basic programming system for Windows, version 1.0 Operational Range for Data: 1/1/2000 using defaults for 2-digit yearVB 3.0, 2.0, 1.0: Visual Basic 3.0 and all prior versions convert all two-digit years to the 1900s. See KB #Q162718. While Microsoft made the determination to classify Visual Basic 3.0 and prior as non-compliant with Year 2000 compatibility, using responsible programming practices, developers can create applications that are fully Year 2000 compliant, as is detailed below. By default, the passing of a two-digit year in a date (such as 7/3/45) is interpreted by Visual Basic 3.0 and prior to be in the 1900’s. In many cases, applications can be easily modified and recompiled for Year 2000 compatibility by converting to four-digit date fields. 2-Digit Date Conversion ------------------------------------------------------------------ While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) forces Visual Basic to assume to what century the date corresponds. For all versions of Visual Basic for Windows (including its predecessors such as Visual Basic for MS-DOS and QuickBasic) prior to and including 3.0, 2-digit years were always assumed to be in the 1900s. The code to implement this default was built into each version's run-time library and does not depend on the version of the operating system or the century of the current system date. Between the development cycles for Visual Basic 3.0 and 4.0, two new entities emerged: Visual Basic for Applications and OLE Automation. Prior to the advent of these technologies, Visual Basic's runtime library contained the code responsible for converting a 2-digit year to a 4-digit year. OLE Automation exposed a great deal of functionality that other applications could access. Visual Basic for Applications did not need to implement this code; it could make calls to the OLE Automation libraries instead. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718 at What Does All of This Mean to Developers Who Use Visual Basic? -------------------------------------------------------------- Visual Basic 3.0 and prior versions convert all 2-digit years to the 1900s. Visual Basic 4.0 (16-bit) converts all 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function that converts all 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted all 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 1900s if the 2-digit year is between 30 and 99. If the 2-digit year is between 00 and 29, the date is converted to the 2000s. What if I Don't Like Those Defaults? ------------------------------------ You may want to use your own set of rules instead of relying on the defaults native to Visual Basic. For example, you may want to enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, then convert that date string with the 4-digit year into a date variable. Sample Code ----------- The following code evaluates the data entered into a textbox named txtDate when you click cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. Finally, the date displayed in txtDate is converted to a non-ambiguous date with the appropriate 4-digit year. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format: Private Sub cmdConvertDate_Click() Dim strYear As String Dim intSlash As Integer If IsDate(txtDate) or txtDate = "2/29/00" Then 'Find first date separator. intSlash = InStr(txtDate, "/") If intSlash > 0 Then 'Find second date separator. intSlash = InStr(intSlash + 1, txtDate, "/") If intSlash > 0 Then 'Extract the year from the date. strYear = Mid(txtDate, intSlash + 1) If Len(strYear) = 2 Then If CInt(strYear) < 50 Then ' Less than 50: year = 20XX. strYear = "20" & strYear Else ' Greater than 50: year = 19XX. strYear = "19" & strYear End If End If MsgBox "Date Entered: " & txtDate MsgBox "Year (Our Rule): " & strYear MsgBox "Year (VB Default): " & Year(txtDate) Else MsgBox "Date not in expected format!" End If Else MsgBox "Date not in expected format!" End If Else MsgBox "Not a valid date!" End If ' Clarify date in txtDate. txtDate.Text = Left(txtDate.Text, intSlash) & strYear End Sub
|
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. |
- | ||
Year 2000 Update for VB4 16-bit Editor | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
01 Nov 1999 | ||
This report applies to: VB 4.0 (16-bit)- Standard, Professional, Enterprise, Working Model Developing Year 2000 Compliant Software Operational Range for Data: 1/1/2000 using defaults for 2-digit year How the product runtime handles dates: Visual Basic 4.0 (16-bit) converts 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Two-digit shortcut handling: During the Visual Basic 4.0 development cycle, a new rule for two-digit date-handling was developed. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
Other design time issues to be aware of when using this tool: Visual Basic 4 16bit has a system date dependant issue in its code editor. Date literals (e.g. d = #10/7/97#) in the 1900s are truncated to 2-digit years. If a VB4-16 project is loaded on a machine that has the system clock set to a date greater than or equal to (>=) the year 2000, this date is re-parsed as belonging to the 2000’s (e.g. d = #10/7/2097#). Additionally, with the system clock set greater than or equal to (>=) the year 2000, no date from the 1900’s can effectively be represented as a date literal. NOTE: This specification applies ONLY TO THE DESIGN ENVIRONMENT. Visual Basic 4.0-16 bit compiled applications are not affected, only the text-based source code is. This is a very important distinction that must be understood to understand the relevance of this issue to developers (i.e. it is only of interest to those people developing or maintaining the code for VB4-16 bit applications, not for end-users who are using VB4-16bit developed applications). Other versions of the Visual Basic programming language are not subject to this behavior. Example #1: Editing existing code after the system clock as passed 1/1/2000 System date: 10/7/98, user enters the code: Function CalculatePorfolioPerformaceSinceStart ‘User entered #10/7/1998#, was parsed by VB to 2 digits Const PORFOLIO_START_DATE = #10/7/98# End Function The year 2000 has now come and the developer is asked to update the code or add a feature. The developer loads the code in Visual Basic 4.0 16-bit and makes the change/addition. The problem: This date has been re-parsed and automatically been changed to: Function CalculatePorfolioPerformaceSinceStart Const PORFOLIO_START_DATE = #10/7/2098# End Function Example #2: Entering a 19xx date after the system clock has passed 1/1/2000 The year is 2000. A VB4-16 developer attempts to enter a date from the 1900s: ‘User entered #10/7/1998# The year is parsed into 1998. Const PORFOLIO_START_DATE = #10/7/98# The developer saves his project. Then re-loads his project. The issue: The date has been changed to: Const PORFOLIO_START_DATE = #10/7/2098# Microsoft has provided an update for the VB4-16 code editor This update will provide two operations:
Thus, with this update, the VB4-16 bit editor will be able to handle date literals as developer code after the year 2000. This update is contained in an updated VBA2.DLL that will be released in April 1999. Again, this issue does not affect end users or their Visual Basic 4-16bit applications, only the Visual Basic 4 development environment. Please visit http://msdn.microsoft.com/vbasic/downloads/vb4-y2k.asp for more information and to download the update.Testing guidelines and recommendations: The following code evaluates the data entered into a textbox named txtDate when the user clicks cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format:
|
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. |
- | ||
Year 2000 Update for VB4 16-bit Editor | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
01 Nov 1999 | ||
This report applies to: VB 4.0 (16-bit)- Standard, Professional, Enterprise, Working Model Developing Year 2000 Compliant Software Operational Range for Data: 1/1/2000 using defaults for 2-digit year How the product runtime handles dates: Visual Basic 4.0 (16-bit) converts 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Two-digit shortcut handling: During the Visual Basic 4.0 development cycle, a new rule for two-digit date-handling was developed. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: Visual Basic 4 16bit has a system date dependant issue in its code editor. Date literals (e.g. d = #10/7/97#) in the 1900s are truncated to 2-digit years. If a VB4-16 project is loaded on a machine that has the system clock set to a date greater than or equal to (>=) the year 2000, this date is re-parsed as belonging to the 2000’s (e.g. d = #10/7/2097#). Additionally, with the system clock set greater than or equal to (>=) the year 2000, no date from the 1900’s can effectively be represented as a date literal. NOTE: This specification applies ONLY TO THE DESIGN ENVIRONMENT. Visual Basic 4.0-16 bit compiled applications are not affected, only the text-based source code is. This is a very important distinction that must be understood to understand the relevance of this issue to developers (i.e. it is only of interest to those people developing or maintaining the code for VB4-16 bit applications, not for end-users who are using VB4-16bit developed applications). Other versions of the Visual Basic programming language are not subject to this behavior. Example #1: Editing existing code after the system clock as passed 1/1/2000 System date: 10/7/98, user enters the code: Function CalculatePorfolioPerformaceSinceStart ‘User entered #10/7/1998#, was parsed by VB to 2 digits Const PORFOLIO_START_DATE = #10/7/98# End Function The year 2000 has now come and the developer is asked to update the code or add a feature. The developer loads the code in Visual Basic 4.0 16-bit and makes the change/addition. The problem: This date has been re-parsed and automatically been changed to: Function CalculatePorfolioPerformaceSinceStart Const PORFOLIO_START_DATE = #10/7/2098# End Function Example #2: Entering a 19xx date after the system clock has passed 1/1/2000 The year is 2000. A VB4-16 developer attempts to enter a date from the 1900s: ‘User entered #10/7/1998# The year is parsed into 1998. Const PORFOLIO_START_DATE = #10/7/98# The developer saves his project. Then re-loads his project. The issue: The date has been changed to: Const PORFOLIO_START_DATE = #10/7/2098# Microsoft has provided an update for the VB4-16 code editor This update will provide two operations:
Thus, with this update, the VB4-16 bit editor will be able to handle date literals as developer code after the year 2000. This update is contained in an updated VBA2.DLL that will be released in April 1999. Again, this issue does not affect end users or their Visual Basic 4-16bit applications, only the Visual Basic 4 development environment. Please visit http://msdn.microsoft.com/vbasic/downloads/vb4-y2k.asp for more information and to download the update.Testing guidelines and recommendations: The following code evaluates the data entered into a textbox named txtDate when the user clicks cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format:
|
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. |
- | ||
Year 2000 Update for VB4 16-bit Editor | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
01 Nov 1999 | ||
This report applies to: VB 4.0 (16-bit)- Standard, Professional, Enterprise, Working Model Developing Year 2000 Compliant Software Operational Range for Data: 1/1/2000 using defaults for 2-digit year How the product runtime handles dates: Visual Basic 4.0 (16-bit) converts 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Two-digit shortcut handling: During the Visual Basic 4.0 development cycle, a new rule for two-digit date-handling was developed. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: Visual Basic 4 16bit has a system date dependant issue in its code editor. Date literals (e.g. d = #10/7/97#) in the 1900s are truncated to 2-digit years. If a VB4-16 project is loaded on a machine that has the system clock set to a date greater than or equal to (>=) the year 2000, this date is re-parsed as belonging to the 2000’s (e.g. d = #10/7/2097#). Additionally, with the system clock set greater than or equal to (>=) the year 2000, no date from the 1900’s can effectively be represented as a date literal. NOTE: This specification applies ONLY TO THE DESIGN ENVIRONMENT. Visual Basic 4.0-16 bit compiled applications are not affected, only the text-based source code is. This is a very important distinction that must be understood to understand the relevance of this issue to developers (i.e. it is only of interest to those people developing or maintaining the code for VB4-16 bit applications, not for end-users who are using VB4-16bit developed applications). Other versions of the Visual Basic programming language are not subject to this behavior. Example #1: Editing existing code after the system clock as passed 1/1/2000 System date: 10/7/98, user enters the code: Function CalculatePorfolioPerformaceSinceStart ‘User entered #10/7/1998#, was parsed by VB to 2 digits Const PORFOLIO_START_DATE = #10/7/98# End Function The year 2000 has now come and the developer is asked to update the code or add a feature. The developer loads the code in Visual Basic 4.0 16-bit and makes the change/addition. The problem: This date has been re-parsed and automatically been changed to: Function CalculatePorfolioPerformaceSinceStart Const PORFOLIO_START_DATE = #10/7/2098# End Function Example #2: Entering a 19xx date after the system clock has passed 1/1/2000 The year is 2000. A VB4-16 developer attempts to enter a date from the 1900s: ‘User entered #10/7/1998# The year is parsed into 1998. Const PORFOLIO_START_DATE = #10/7/98# The developer saves his project. Then re-loads his project. The issue: The date has been changed to: Const PORFOLIO_START_DATE = #10/7/2098# Microsoft has provided an update for the VB4-16 code editor This update will provide two operations:
Thus, with this update, the VB4-16 bit editor will be able to handle date literals as developer code after the year 2000. This update is contained in an updated VBA2.DLL that will be released in April 1999. Again, this issue does not affect end users or their Visual Basic 4-16bit applications, only the Visual Basic 4 development environment. Please visit http://msdn.microsoft.com/vbasic/downloads/vb4-y2k.asp for more information and to download the update.Testing guidelines and recommendations: The following code evaluates the data entered into a textbox named txtDate when the user clicks cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format:
|
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. |
- | ||
Year 2000 Update for VB4 16-bit Editor | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
01 Nov 1999 | ||
This report applies to: VB 4.0 (16-bit)- Standard, Professional, Enterprise, Working Model Developing Year 2000 Compliant Software Operational Range for Data: 1/1/2000 using defaults for 2-digit year How the product runtime handles dates: Visual Basic 4.0 (16-bit) converts 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Two-digit shortcut handling: During the Visual Basic 4.0 development cycle, a new rule for two-digit date-handling was developed. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: Visual Basic 4 16bit has a system date dependant issue in its code editor. Date literals (e.g. d = #10/7/97#) in the 1900s are truncated to 2-digit years. If a VB4-16 project is loaded on a machine that has the system clock set to a date greater than or equal to (>=) the year 2000, this date is re-parsed as belonging to the 2000’s (e.g. d = #10/7/2097#). Additionally, with the system clock set greater than or equal to (>=) the year 2000, no date from the 1900’s can effectively be represented as a date literal. NOTE: This specification applies ONLY TO THE DESIGN ENVIRONMENT. Visual Basic 4.0-16 bit compiled applications are not affected, only the text-based source code is. This is a very important distinction that must be understood to understand the relevance of this issue to developers (i.e. it is only of interest to those people developing or maintaining the code for VB4-16 bit applications, not for end-users who are using VB4-16bit developed applications). Other versions of the Visual Basic programming language are not subject to this behavior. Example #1: Editing existing code after the system clock as passed 1/1/2000 System date: 10/7/98, user enters the code: Function CalculatePorfolioPerformaceSinceStart ‘User entered #10/7/1998#, was parsed by VB to 2 digits Const PORFOLIO_START_DATE = #10/7/98# End Function The year 2000 has now come and the developer is asked to update the code or add a feature. The developer loads the code in Visual Basic 4.0 16-bit and makes the change/addition. The problem: This date has been re-parsed and automatically been changed to: Function CalculatePorfolioPerformaceSinceStart Const PORFOLIO_START_DATE = #10/7/2098# End Function Example #2: Entering a 19xx date after the system clock has passed 1/1/2000 The year is 2000. A VB4-16 developer attempts to enter a date from the 1900s: ‘User entered #10/7/1998# The year is parsed into 1998. Const PORFOLIO_START_DATE = #10/7/98# The developer saves his project. Then re-loads his project. The issue: The date has been changed to: Const PORFOLIO_START_DATE = #10/7/2098# Microsoft has provided an update for the VB4-16 code editor This update will provide two operations:
Thus, with this update, the VB4-16 bit editor will be able to handle date literals as developer code after the year 2000. This update is contained in an updated VBA2.DLL that will be released in April 1999. Again, this issue does not affect end users or their Visual Basic 4-16bit applications, only the Visual Basic 4 development environment. Please visit http://msdn.microsoft.com/vbasic/downloads/vb4-y2k.asp for more information and to download the update.Testing guidelines and recommendations: The following code evaluates the data entered into a textbox named txtDate when the user clicks cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format:
|
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. |
- | ||
Year 2000 Update for VB4 16-bit Editor | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
01 Nov 1999 | ||
This report applies to: VB 4.0 (16-bit)- Standard, Professional, Enterprise, Working Model Developing Year 2000 Compliant Software Operational Range for Data: 1/1/2000 using defaults for 2-digit year How the product runtime handles dates: Visual Basic 4.0 (16-bit) converts 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Two-digit shortcut handling: During the Visual Basic 4.0 development cycle, a new rule for two-digit date-handling was developed. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: Visual Basic 4 16bit has a system date dependant issue in its code editor. Date literals (e.g. d = #10/7/97#) in the 1900s are truncated to 2-digit years. If a VB4-16 project is loaded on a machine that has the system clock set to a date greater than or equal to (>=) the year 2000, this date is re-parsed as belonging to the 2000’s (e.g. d = #10/7/2097#). Additionally, with the system clock set greater than or equal to (>=) the year 2000, no date from the 1900’s can effectively be represented as a date literal. NOTE: This specification applies ONLY TO THE DESIGN ENVIRONMENT. Visual Basic 4.0-16 bit compiled applications are not affected, only the text-based source code is. This is a very important distinction that must be understood to understand the relevance of this issue to developers (i.e. it is only of interest to those people developing or maintaining the code for VB4-16 bit applications, not for end-users who are using VB4-16bit developed applications). Other versions of the Visual Basic programming language are not subject to this behavior. Example #1: Editing existing code after the system clock as passed 1/1/2000 System date: 10/7/98, user enters the code: Function CalculatePorfolioPerformaceSinceStart ‘User entered #10/7/1998#, was parsed by VB to 2 digits Const PORFOLIO_START_DATE = #10/7/98# End Function The year 2000 has now come and the developer is asked to update the code or add a feature. The developer loads the code in Visual Basic 4.0 16-bit and makes the change/addition. The problem: This date has been re-parsed and automatically been changed to: Function CalculatePorfolioPerformaceSinceStart Const PORFOLIO_START_DATE = #10/7/2098# End Function Example #2: Entering a 19xx date after the system clock has passed 1/1/2000 The year is 2000. A VB4-16 developer attempts to enter a date from the 1900s: ‘User entered #10/7/1998# The year is parsed into 1998. Const PORFOLIO_START_DATE = #10/7/98# The developer saves his project. Then re-loads his project. The issue: The date has been changed to: Const PORFOLIO_START_DATE = #10/7/2098# Microsoft has provided an update for the VB4-16 code editor This update will provide two operations:
Thus, with this update, the VB4-16 bit editor will be able to handle date literals as developer code after the year 2000. This update is contained in an updated VBA2.DLL that will be released in April 1999. Again, this issue does not affect end users or their Visual Basic 4-16bit applications, only the Visual Basic 4 development environment. Please visit http://msdn.microsoft.com/vbasic/downloads/vb4-y2k.asp for more information and to download the update.Testing guidelines and recommendations: The following code evaluates the data entered into a textbox named txtDate when the user clicks cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format:
|
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. |
- | ||
Year 2000 Update for VB4 16-bit Editor | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
01 Nov 1999 | ||
This report applies to: VB 4.0 (16-bit)- Standard, Professional, Enterprise, Working Model Developing Year 2000 Compliant Software Operational Range for Data: 1/1/2000 using defaults for 2-digit year How the product runtime handles dates: Visual Basic 4.0 (16-bit) converts 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Two-digit shortcut handling: During the Visual Basic 4.0 development cycle, a new rule for two-digit date-handling was developed. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: Visual Basic 4 16bit has a system date dependant issue in its code editor. Date literals (e.g. d = #10/7/97#) in the 1900s are truncated to 2-digit years. If a VB4-16 project is loaded on a machine that has the system clock set to a date greater than or equal to (>=) the year 2000, this date is re-parsed as belonging to the 2000’s (e.g. d = #10/7/2097#). Additionally, with the system clock set greater than or equal to (>=) the year 2000, no date from the 1900’s can effectively be represented as a date literal. NOTE: This specification applies ONLY TO THE DESIGN ENVIRONMENT. Visual Basic 4.0-16 bit compiled applications are not affected, only the text-based source code is. This is a very important distinction that must be understood to understand the relevance of this issue to developers (i.e. it is only of interest to those people developing or maintaining the code for VB4-16 bit applications, not for end-users who are using VB4-16bit developed applications). Other versions of the Visual Basic programming language are not subject to this behavior. Example #1: Editing existing code after the system clock as passed 1/1/2000 System date: 10/7/98, user enters the code: Function CalculatePorfolioPerformaceSinceStart ‘User entered #10/7/1998#, was parsed by VB to 2 digits Const PORFOLIO_START_DATE = #10/7/98# End Function The year 2000 has now come and the developer is asked to update the code or add a feature. The developer loads the code in Visual Basic 4.0 16-bit and makes the change/addition. The problem: This date has been re-parsed and automatically been changed to: Function CalculatePorfolioPerformaceSinceStart Const PORFOLIO_START_DATE = #10/7/2098# End Function Example #2: Entering a 19xx date after the system clock has passed 1/1/2000 The year is 2000. A VB4-16 developer attempts to enter a date from the 1900s: ‘User entered #10/7/1998# The year is parsed into 1998. Const PORFOLIO_START_DATE = #10/7/98# The developer saves his project. Then re-loads his project. The issue: The date has been changed to: Const PORFOLIO_START_DATE = #10/7/2098# Microsoft has provided an update for the VB4-16 code editor This update will provide two operations:
Thus, with this update, the VB4-16 bit editor will be able to handle date literals as developer code after the year 2000. This update is contained in an updated VBA2.DLL that will be released in April 1999. Again, this issue does not affect end users or their Visual Basic 4-16bit applications, only the Visual Basic 4 development environment. Please visit http://msdn.microsoft.com/vbasic/downloads/vb4-y2k.asp for more information and to download the update.Testing guidelines and recommendations: The following code evaluates the data entered into a textbox named txtDate when the user clicks cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format:
|
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. |
- | ||
Year 2000 Update for VB4 16-bit Editor | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + software updates, Windows NT 3.51 Service Pack 5 + software updates, Windows 95, Windows 98 with software updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
01 Nov 1999 | ||
This report applies to: VB 4.0 (16-bit)- Standard, Professional, Enterprise, Working Model Developing Year 2000 Compliant Software Operational Range for Data: 1/1/2000 using defaults for 2-digit year How the product runtime handles dates: Visual Basic 4.0 (16-bit) converts 2-digit years to the century of the current system date. Depending on the function used, Visual Basic converts the date based on defaults in either the 16-bit Automation libraries or the runtime library. The defaults in the 16-bit Automation libraries have not been modified since Visual Basic 4.0 released. Therefore the behavior is consistent regardless of which date function is used. Two-digit shortcut handling: During the Visual Basic 4.0 development cycle, a new rule for two-digit date-handling was developed. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Visual Basic 4.0 was developed with this interoperability in mind and began to rely on the OLE Automation libraries to convert 2-digit years to 4-digit years in most cases. The exception to the rule is the DateSerial function that was implemented in the Visual Basic runtime library because Visual Basic required more functionality than the OLE Automation library could provide at that time. Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: Visual Basic 4 16bit has a system date dependant issue in its code editor. Date literals (e.g. d = #10/7/97#) in the 1900s are truncated to 2-digit years. If a VB4-16 project is loaded on a machine that has the system clock set to a date greater than or equal to (>=) the year 2000, this date is re-parsed as belonging to the 2000’s (e.g. d = #10/7/2097#). Additionally, with the system clock set greater than or equal to (>=) the year 2000, no date from the 1900’s can effectively be represented as a date literal. NOTE: This specification applies ONLY TO THE DESIGN ENVIRONMENT. Visual Basic 4.0-16 bit compiled applications are not affected, only the text-based source code is. This is a very important distinction that must be understood to understand the relevance of this issue to developers (i.e. it is only of interest to those people developing or maintaining the code for VB4-16 bit applications, not for end-users who are using VB4-16bit developed applications). Other versions of the Visual Basic programming language are not subject to this behavior. Example #1: Editing existing code after the system clock as passed 1/1/2000 System date: 10/7/98, user enters the code: Function CalculatePorfolioPerformaceSinceStart ‘User entered #10/7/1998#, was parsed by VB to 2 digits Const PORFOLIO_START_DATE = #10/7/98# End Function The year 2000 has now come and the developer is asked to update the code or add a feature. The developer loads the code in Visual Basic 4.0 16-bit and makes the change/addition. The problem: This date has been re-parsed and automatically been changed to: Function CalculatePorfolioPerformaceSinceStart Const PORFOLIO_START_DATE = #10/7/2098# End Function Example #2: Entering a 19xx date after the system clock has passed 1/1/2000 The year is 2000. A VB4-16 developer attempts to enter a date from the 1900s: ‘User entered #10/7/1998# The year is parsed into 1998. Const PORFOLIO_START_DATE = #10/7/98# The developer saves his project. Then re-loads his project. The issue: The date has been changed to: Const PORFOLIO_START_DATE = #10/7/2098# Microsoft has provided an update for the VB4-16 code editor This update will provide two operations:
Thus, with this update, the VB4-16 bit editor will be able to handle date literals as developer code after the year 2000. This update is contained in an updated VBA2.DLL that will be released in April 1999. Again, this issue does not affect end users or their Visual Basic 4-16bit applications, only the Visual Basic 4 development environment. Please visit http://msdn.microsoft.com/vbasic/downloads/vb4-y2k.asp for more information and to download the update.Testing guidelines and recommendations: The following code evaluates the data entered into a textbox named txtDate when the user clicks cmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format:
|
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. |
- | ||
See Below | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + Year 2000Software Updates, Windows NT 3.51 Service Pack 5 + Year 2000 Software Updates, Windows 95, Windows 98 + Year 2000 Software Updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
28 Sep 1999 | ||
This report applies to: VB 4.0 (32-bit)- Standard, Professional, Enterprise, Working Model Developing Year 2000 Compliant Software Operational Range for Data: System Dependent How the product runtime handles dates: Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function which, converts the 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900’s (1930-1999). Two-digit shortcut handling: During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic" for more information.
Common development errors dealing with year 2000 date issues: Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic"
Other design time issues to be aware of when using this tool: Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic" Testing guidelines and recommendations: The following code evaluates the data entered into a textbox named txtDate when the user clickscmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format:
|
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. |
- | ||
See Below | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + Year 2000Software Updates, Windows NT 3.51 Service Pack 5 + Year 2000 Software Updates, Windows 95, Windows 98 + Year 2000 Software Updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
28 Sep 1999 | ||
This report applies to: VB 4.0 (32-bit)- Standard, Professional, Enterprise, Working Model Developing Year 2000 Compliant Software Operational Range for Data: System Dependent How the product runtime handles dates: Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function which, converts the 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900’s (1930-1999). Two-digit shortcut handling: During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic" for more information.
Common development errors dealing with year 2000 date issues: Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic"
Other design time issues to be aware of when using this tool: Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic" Testing guidelines and recommendations: The following code evaluates the data entered into a textbox named txtDate when the user clickscmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format:
|
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. |
- | ||
See Below | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + Year 2000Software Updates, Windows NT 3.51 Service Pack 5 + Year 2000 Software Updates, Windows 95, Windows 98 + Year 2000 Software Updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
28 Sep 1999 | ||
This report applies to: VB 4.0 (32-bit)- Standard, Professional, Enterprise, Working Model Developing Year 2000 Compliant Software Operational Range for Data: System Dependent How the product runtime handles dates: Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function which, converts the 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900’s (1930-1999). Two-digit shortcut handling: During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic" for more information.
Common development errors dealing with year 2000 date issues: Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic"
Other design time issues to be aware of when using this tool: Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic" Testing guidelines and recommendations: The following code evaluates the data entered into a textbox named txtDate when the user clickscmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format:
|
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. |
- | ||
See Below | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + Year 2000Software Updates, Windows NT 3.51 Service Pack 5 + Year 2000 Software Updates, Windows 95, Windows 98 + Year 2000 Software Updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
28 Sep 1999 | ||
This report applies to: VB 4.0 (32-bit)- Standard, Professional, Enterprise, Working Model Developing Year 2000 Compliant Software Operational Range for Data: System Dependent How the product runtime handles dates: Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function which, converts the 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900’s (1930-1999). Two-digit shortcut handling: During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic" for more information.
Common development errors dealing with year 2000 date issues: Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic"
Other design time issues to be aware of when using this tool: Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic" Testing guidelines and recommendations: The following code evaluates the data entered into a textbox named txtDate when the user clickscmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format:
|
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. |
- | ||
See Below | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + Year 2000Software Updates, Windows NT 3.51 Service Pack 5 + Year 2000 Software Updates, Windows 95, Windows 98 + Year 2000 Software Updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
28 Sep 1999 | ||
This report applies to: VB 4.0 (32-bit)- Standard, Professional, Enterprise, Working Model Developing Year 2000 Compliant Software Operational Range for Data: System Dependent How the product runtime handles dates: Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function which, converts the 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900’s (1930-1999). Two-digit shortcut handling: During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic" for more information.
Common development errors dealing with year 2000 date issues: Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic"
Other design time issues to be aware of when using this tool: Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic" Testing guidelines and recommendations: The following code evaluates the data entered into a textbox named txtDate when the user clickscmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format:
|
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. |
- | ||
See Below | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + Year 2000Software Updates, Windows NT 3.51 Service Pack 5 + Year 2000 Software Updates, Windows 95, Windows 98 + Year 2000 Software Updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
28 Sep 1999 | ||
This report applies to: VB 4.0 (32-bit)- Standard, Professional, Enterprise, Working Model Developing Year 2000 Compliant Software Operational Range for Data: System Dependent How the product runtime handles dates: Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function which, converts the 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900’s (1930-1999). Two-digit shortcut handling: During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic" for more information.
Common development errors dealing with year 2000 date issues: Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic"
Other design time issues to be aware of when using this tool: Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic" Testing guidelines and recommendations: The following code evaluates the data entered into a textbox named txtDate when the user clickscmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format:
|
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. |
- | ||
See Below | ||
MS-DOS, Windows 3.x, Windows NT 4 Service Pack 4 + Year 2000Software Updates, Windows NT 3.51 Service Pack 5 + Year 2000 Software Updates, Windows 95, Windows 98 + Year 2000 Software Updates | ||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||
28 Sep 1999 | ||
This report applies to: VB 4.0 (32-bit)- Standard, Professional, Enterprise, Working Model Developing Year 2000 Compliant Software Operational Range for Data: System Dependent How the product runtime handles dates: Visual Basic 4.0 (32-bit) converts 2-digit years to 4-digit years based on the default in the Automation libraries except when using the DateSerial function which, converts the 2-digit years to the century of the current system date. The 32-bit Automation libraries (OleAut32.dll version 2.10) that shipped when Visual Basic 4.0 was released converted 2-digit years to the century of the current system date. Later 32-bit Automation libraries (OleAut32.dll version 2.20 and later) convert 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900’s (1930-1999). Two-digit shortcut handling: During the Visual Basic 4.0 development cycle, a new rule emerged. A 2-digit year would be converted to the current century of the system date. Thus, Year(Date("1/1/00")) would evaluate to the current century. This new rule was implemented in the OLE Automation libraries used by Visual Basic 4.0 and Visual Basic for Applications. The Visual Basic 4.0 runtime library also implements the rule for the DateSerial function. Microsoft changed the default in the OLE Automation (now simply Automation) libraries as of version 2.20.4049 of OleAut32.dll. This change does not affect 16-bit applications that rely on the Automation libraries, only 32-bit applications. Now, a 2-digit year between 00 and 29 (such as 17) is interpreted as 2017 while a 2-digit year between 30 and 99 (such as 72) is interpreted as 1972. The new Automation libraries provide the functionality that Visual Basic requires for the DateSerial function. Thus, Visual Basic 5.0 and subsequent releases no longer implement rules for the DateSerial function in their runtime libraries. The updated Automation library ships with Internet Explorer version 3.0 and later, Windows NT 3.51 Service Pack 5, Windows NT 4.0, Windows 95 OSR2, Office 97, Visual Basic 5.0 and other products. For additional information, please refer to Knowledge Base article Q162718Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic" for more information.
Common development errors dealing with year 2000 date issues: Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic"
Other design time issues to be aware of when using this tool: Please refer to the white paper, "Developing Y2K Compliant Applications with Visual Basic" Testing guidelines and recommendations: The following code evaluates the data entered into a textbox named txtDate when the user clickscmdConvertDate. If the date contains a 2-digit year, the date is converted into a 4-digit year date according to the sample rule. The code then displays the initial date entered, the full year as converted by the code according to the sample rule, and the full year converted by the defaults native to Visual Basic. This code requires that dates are entered in the mm/dd/yy format, but it could easily be changed to handle a different date format:
|
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. |
- | ||||||||||||||||||||
See Below | ||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), Windows 98 (plus Y2K updates), Year 2000 update for Internet Explorer 3.02, SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 | ||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||
25 Oct 1999 | ||||||||||||||||||||
This report applies to: VB 5.0- Learning, Professional, Enterprise Czech, Polish, Portuguese (Brazil), and Russian contain US Software. Developing Year 2000 Compliant Software Operational Range for Data: 1930 through 2029 using two-digit shortcuts or user configurable How the product runtime handles dates: While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) requires Visual Basic to interpret to what century the date corresponds. Two-digit shortcut handling: Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900s. The product will function into the 21st century through the end of year 2030 in accordance with industry standard 100-year date windowing. Developers can modify this date window to their own needs as described in the Windows 98 control panel or as described in the white paper, " Developing Y2K Compliant Applications with Visual Basic"Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of: If the products or technologies listed below are installed, they should be updated to ensure proper functioning:
Note for Enterprise Edition Users Visual SourceSafe contains a small cosmetic display issue when using the history pre-dialog: 1. In the History pre-dialog where users can specify a date range to do a history on ("show me the History between 1/1/97 and 2/24/2000), if users specify a date after the year 2000, it will be treated as a date in the 1900s. The same problem exists on the command line. 2. The history pre-dialog in version 5.0 does not accept 4-digit years. The issues described above are cosmetic display problems. Data is stored correctly and clock rollover to the year 2000 will not cause data loss. The most restrictive structure Visual SourceSafe uses for dates is a long integer containing the number of seconds since January 1, 1970. Testing guidelines and recommendations: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||
See Below | ||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), Windows 98 (plus Y2K updates), Year 2000 update for Internet Explorer 3.02, SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 | ||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||
25 Oct 1999 | ||||||||||||||||||||
This report applies to: VB 5.0- Learning, Professional, Enterprise Czech, Polish, Portuguese (Brazil), and Russian contain US Software. Developing Year 2000 Compliant Software Operational Range for Data: 1930 through 2029 using two-digit shortcuts or user configurable How the product runtime handles dates: While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) requires Visual Basic to interpret to what century the date corresponds. Two-digit shortcut handling: Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900s. The product will function into the 21st century through the end of year 2030 in accordance with industry standard 100-year date windowing. Developers can modify this date window to their own needs as described in the Windows 98 control panel or as described in the white paper, " Developing Y2K Compliant Applications with Visual Basic"Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of: If the products or technologies listed below are installed, they should be updated to ensure proper functioning:
Note for Enterprise Edition Users Visual SourceSafe contains a small cosmetic display issue when using the history pre-dialog: 1. In the History pre-dialog where users can specify a date range to do a history on ("show me the History between 1/1/97 and 2/24/2000), if users specify a date after the year 2000, it will be treated as a date in the 1900s. The same problem exists on the command line. 2. The history pre-dialog in version 5.0 does not accept 4-digit years. The issues described above are cosmetic display problems. Data is stored correctly and clock rollover to the year 2000 will not cause data loss. The most restrictive structure Visual SourceSafe uses for dates is a long integer containing the number of seconds since January 1, 1970. Testing guidelines and recommendations: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||
See Below | ||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), Windows 98 (plus Y2K updates), Year 2000 update for Internet Explorer 3.02, SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 | ||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||
This report applies to: VB 5.0- Learning, Professional, Enterprise Czech, Polish, Portuguese (Brazil), and Russian contain US Software. Developing Year 2000 Compliant Software Operational Range for Data: 1930 through 2029 using two-digit shortcuts or user configurable How the product runtime handles dates: While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) requires Visual Basic to interpret to what century the date corresponds. Two-digit shortcut handling: Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900s. The product will function into the 21st century through the end of year 2030 in accordance with industry standard 100-year date windowing. Developers can modify this date window to their own needs as described in the Windows 98 control panel or as described in the white paper, " Developing Y2K Compliant Applications with Visual Basic"Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of: If the products or technologies listed below are installed, they should be updated to ensure proper functioning:
Note for Enterprise Edition Users Visual SourceSafe contains a small cosmetic display issue when using the history pre-dialog: 1. In the History pre-dialog where users can specify a date range to do a history on ("show me the History between 1/1/97 and 2/24/2000), if users specify a date after the year 2000, it will be treated as a date in the 1900s. The same problem exists on the command line. 2. The history pre-dialog in version 5.0 does not accept 4-digit years. The issues described above are cosmetic display problems. Data is stored correctly and clock rollover to the year 2000 will not cause data loss. The most restrictive structure Visual SourceSafe uses for dates is a long integer containing the number of seconds since January 1, 1970. Testing guidelines and recommendations: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||
See Below | ||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), Windows 98 (plus Y2K updates), Year 2000 update for Internet Explorer 3.02, SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 | ||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||
This report applies to: VB 5.0- Learning, Professional, Enterprise Czech, Polish, Portuguese (Brazil), and Russian contain US Software. Developing Year 2000 Compliant Software Operational Range for Data: 1930 through 2029 using two-digit shortcuts or user configurable How the product runtime handles dates: While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) requires Visual Basic to interpret to what century the date corresponds. Two-digit shortcut handling: Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900s. The product will function into the 21st century through the end of year 2030 in accordance with industry standard 100-year date windowing. Developers can modify this date window to their own needs as described in the Windows 98 control panel or as described in the white paper, " Developing Y2K Compliant Applications with Visual Basic"Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of: If the products or technologies listed below are installed, they should be updated to ensure proper functioning:
Note for Enterprise Edition Users Visual SourceSafe contains a small cosmetic display issue when using the history pre-dialog: 1. In the History pre-dialog where users can specify a date range to do a history on ("show me the History between 1/1/97 and 2/24/2000), if users specify a date after the year 2000, it will be treated as a date in the 1900s. The same problem exists on the command line. 2. The history pre-dialog in version 5.0 does not accept 4-digit years. The issues described above are cosmetic display problems. Data is stored correctly and clock rollover to the year 2000 will not cause data loss. The most restrictive structure Visual SourceSafe uses for dates is a long integer containing the number of seconds since January 1, 1970. Testing guidelines and recommendations: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||
See Below | ||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), Windows 98 (plus Y2K updates), Year 2000 update for Internet Explorer 3.02, SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 | ||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||
This report applies to: VB 5.0- Learning, Professional, Enterprise Czech, Polish, Portuguese (Brazil), and Russian contain US Software. Developing Year 2000 Compliant Software Operational Range for Data: 1930 through 2029 using two-digit shortcuts or user configurable How the product runtime handles dates: While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) requires Visual Basic to interpret to what century the date corresponds. Two-digit shortcut handling: Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900s. The product will function into the 21st century through the end of year 2030 in accordance with industry standard 100-year date windowing. Developers can modify this date window to their own needs as described in the Windows 98 control panel or as described in the white paper, " Developing Y2K Compliant Applications with Visual Basic"Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of: If the products or technologies listed below are installed, they should be updated to ensure proper functioning:
Note for Enterprise Edition Users Visual SourceSafe contains a small cosmetic display issue when using the history pre-dialog: 1. In the History pre-dialog where users can specify a date range to do a history on ("show me the History between 1/1/97 and 2/24/2000), if users specify a date after the year 2000, it will be treated as a date in the 1900s. The same problem exists on the command line. 2. The history pre-dialog in version 5.0 does not accept 4-digit years. The issues described above are cosmetic display problems. Data is stored correctly and clock rollover to the year 2000 will not cause data loss. The most restrictive structure Visual SourceSafe uses for dates is a long integer containing the number of seconds since January 1, 1970. Testing guidelines and recommendations: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||
See Below | ||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), Windows 98 (plus Y2K updates), Year 2000 update for Internet Explorer 3.02, SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 | ||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||
This report applies to: VB 5.0- Learning, Professional, Enterprise Czech, Polish, Portuguese (Brazil), and Russian contain US Software. Developing Year 2000 Compliant Software Operational Range for Data: 1930 through 2029 using two-digit shortcuts or user configurable How the product runtime handles dates: While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) requires Visual Basic to interpret to what century the date corresponds. Two-digit shortcut handling: Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900s. The product will function into the 21st century through the end of year 2030 in accordance with industry standard 100-year date windowing. Developers can modify this date window to their own needs as described in the Windows 98 control panel or as described in the white paper, " Developing Y2K Compliant Applications with Visual Basic"Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of: If the products or technologies listed below are installed, they should be updated to ensure proper functioning:
Note for Enterprise Edition Users Visual SourceSafe contains a small cosmetic display issue when using the history pre-dialog: 1. In the History pre-dialog where users can specify a date range to do a history on ("show me the History between 1/1/97 and 2/24/2000), if users specify a date after the year 2000, it will be treated as a date in the 1900s. The same problem exists on the command line. 2. The history pre-dialog in version 5.0 does not accept 4-digit years. The issues described above are cosmetic display problems. Data is stored correctly and clock rollover to the year 2000 will not cause data loss. The most restrictive structure Visual SourceSafe uses for dates is a long integer containing the number of seconds since January 1, 1970. Testing guidelines and recommendations: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||
See Below | ||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), Windows 98 (plus Y2K updates), Year 2000 update for Internet Explorer 3.02, SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 | ||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||
This report applies to: VB 5.0- Learning, Professional, Enterprise Czech, Polish, Portuguese (Brazil), and Russian contain US Software. Developing Year 2000 Compliant Software Operational Range for Data: 1930 through 2029 using two-digit shortcuts or user configurable How the product runtime handles dates: While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) requires Visual Basic to interpret to what century the date corresponds. Two-digit shortcut handling: Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900s. The product will function into the 21st century through the end of year 2030 in accordance with industry standard 100-year date windowing. Developers can modify this date window to their own needs as described in the Windows 98 control panel or as described in the white paper, " Developing Y2K Compliant Applications with Visual Basic"Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of: If the products or technologies listed below are installed, they should be updated to ensure proper functioning:
Note for Enterprise Edition Users Visual SourceSafe contains a small cosmetic display issue when using the history pre-dialog: 1. In the History pre-dialog where users can specify a date range to do a history on ("show me the History between 1/1/97 and 2/24/2000), if users specify a date after the year 2000, it will be treated as a date in the 1900s. The same problem exists on the command line. 2. The history pre-dialog in version 5.0 does not accept 4-digit years. The issues described above are cosmetic display problems. Data is stored correctly and clock rollover to the year 2000 will not cause data loss. The most restrictive structure Visual SourceSafe uses for dates is a long integer containing the number of seconds since January 1, 1970. Testing guidelines and recommendations: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||
See Below | ||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), Windows 98 (plus Y2K updates), Year 2000 update for Internet Explorer 3.02, SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 | ||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||
This report applies to: VB 5.0- Learning, Professional, Enterprise Czech, Polish, Portuguese (Brazil), and Russian contain US Software. Developing Year 2000 Compliant Software Operational Range for Data: 1930 through 2029 using two-digit shortcuts or user configurable How the product runtime handles dates: While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) requires Visual Basic to interpret to what century the date corresponds. Two-digit shortcut handling: Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900s. The product will function into the 21st century through the end of year 2030 in accordance with industry standard 100-year date windowing. Developers can modify this date window to their own needs as described in the Windows 98 control panel or as described in the white paper, " Developing Y2K Compliant Applications with Visual Basic"Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of: If the products or technologies listed below are installed, they should be updated to ensure proper functioning:
Note for Enterprise Edition Users Visual SourceSafe contains a small cosmetic display issue when using the history pre-dialog: 1. In the History pre-dialog where users can specify a date range to do a history on ("show me the History between 1/1/97 and 2/24/2000), if users specify a date after the year 2000, it will be treated as a date in the 1900s. The same problem exists on the command line. 2. The history pre-dialog in version 5.0 does not accept 4-digit years. The issues described above are cosmetic display problems. Data is stored correctly and clock rollover to the year 2000 will not cause data loss. The most restrictive structure Visual SourceSafe uses for dates is a long integer containing the number of seconds since January 1, 1970. Testing guidelines and recommendations: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||
See Below | ||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), Windows 98 (plus Y2K updates), Year 2000 update for Internet Explorer 3.02, SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 | ||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||
This report applies to: VB 5.0- Learning, Professional, Enterprise Czech, Polish, Portuguese (Brazil), and Russian contain US Software. Developing Year 2000 Compliant Software Operational Range for Data: 1930 through 2029 using two-digit shortcuts or user configurable How the product runtime handles dates: While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) requires Visual Basic to interpret to what century the date corresponds. Two-digit shortcut handling: Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900s. The product will function into the 21st century through the end of year 2030 in accordance with industry standard 100-year date windowing. Developers can modify this date window to their own needs as described in the Windows 98 control panel or as described in the white paper, " Developing Y2K Compliant Applications with Visual Basic"Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of: If the products or technologies listed below are installed, they should be updated to ensure proper functioning:
Note for Enterprise Edition Users Visual SourceSafe contains a small cosmetic display issue when using the history pre-dialog: 1. In the History pre-dialog where users can specify a date range to do a history on ("show me the History between 1/1/97 and 2/24/2000), if users specify a date after the year 2000, it will be treated as a date in the 1900s. The same problem exists on the command line. 2. The history pre-dialog in version 5.0 does not accept 4-digit years. The issues described above are cosmetic display problems. Data is stored correctly and clock rollover to the year 2000 will not cause data loss. The most restrictive structure Visual SourceSafe uses for dates is a long integer containing the number of seconds since January 1, 1970. Testing guidelines and recommendations: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||
See Below | ||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), Windows 98 (plus Y2K updates), Year 2000 update for Internet Explorer 3.02, SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 | ||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||
This report applies to: VB 5.0- Learning, Professional, Enterprise Czech, Polish, Portuguese (Brazil), and Russian contain US Software. Developing Year 2000 Compliant Software Operational Range for Data: 1930 through 2029 using two-digit shortcuts or user configurable How the product runtime handles dates: While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) requires Visual Basic to interpret to what century the date corresponds. Two-digit shortcut handling: Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900s. The product will function into the 21st century through the end of year 2030 in accordance with industry standard 100-year date windowing. Developers can modify this date window to their own needs as described in the Windows 98 control panel or as described in the white paper, " Developing Y2K Compliant Applications with Visual Basic"Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of: If the products or technologies listed below are installed, they should be updated to ensure proper functioning:
Note for Enterprise Edition Users Visual SourceSafe contains a small cosmetic display issue when using the history pre-dialog: 1. In the History pre-dialog where users can specify a date range to do a history on ("show me the History between 1/1/97 and 2/24/2000), if users specify a date after the year 2000, it will be treated as a date in the 1900s. The same problem exists on the command line. 2. The history pre-dialog in version 5.0 does not accept 4-digit years. The issues described above are cosmetic display problems. Data is stored correctly and clock rollover to the year 2000 will not cause data loss. The most restrictive structure Visual SourceSafe uses for dates is a long integer containing the number of seconds since January 1, 1970. Testing guidelines and recommendations: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||
See Below | ||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), Windows 98 (plus Y2K updates), Year 2000 update for Internet Explorer 3.02, SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 | ||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||
This report applies to: VB 5.0- Learning, Professional, Enterprise Czech, Polish, Portuguese (Brazil), and Russian contain US Software. Developing Year 2000 Compliant Software Operational Range for Data: 1930 through 2029 using two-digit shortcuts or user configurable How the product runtime handles dates: While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) requires Visual Basic to interpret to what century the date corresponds. Two-digit shortcut handling: Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900s. The product will function into the 21st century through the end of year 2030 in accordance with industry standard 100-year date windowing. Developers can modify this date window to their own needs as described in the Windows 98 control panel or as described in the white paper, " Developing Y2K Compliant Applications with Visual Basic"Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of: If the products or technologies listed below are installed, they should be updated to ensure proper functioning:
Note for Enterprise Edition Users Visual SourceSafe contains a small cosmetic display issue when using the history pre-dialog: 1. In the History pre-dialog where users can specify a date range to do a history on ("show me the History between 1/1/97 and 2/24/2000), if users specify a date after the year 2000, it will be treated as a date in the 1900s. The same problem exists on the command line. 2. The history pre-dialog in version 5.0 does not accept 4-digit years. The issues described above are cosmetic display problems. Data is stored correctly and clock rollover to the year 2000 will not cause data loss. The most restrictive structure Visual SourceSafe uses for dates is a long integer containing the number of seconds since January 1, 1970. Testing guidelines and recommendations: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||
See Below | ||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), Windows 98 (plus Y2K updates), Year 2000 update for Internet Explorer 3.02, SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 | ||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||
This report applies to: VB 5.0- Learning, Professional, Enterprise Czech, Polish, Portuguese (Brazil), and Russian contain US Software. Developing Year 2000 Compliant Software Operational Range for Data: 1930 through 2029 using two-digit shortcuts or user configurable How the product runtime handles dates: While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) requires Visual Basic to interpret to what century the date corresponds. Two-digit shortcut handling: Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900s. The product will function into the 21st century through the end of year 2030 in accordance with industry standard 100-year date windowing. Developers can modify this date window to their own needs as described in the Windows 98 control panel or as described in the white paper, " Developing Y2K Compliant Applications with Visual Basic"Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of: If the products or technologies listed below are installed, they should be updated to ensure proper functioning:
Note for Enterprise Edition Users Visual SourceSafe contains a small cosmetic display issue when using the history pre-dialog: 1. In the History pre-dialog where users can specify a date range to do a history on ("show me the History between 1/1/97 and 2/24/2000), if users specify a date after the year 2000, it will be treated as a date in the 1900s. The same problem exists on the command line. 2. The history pre-dialog in version 5.0 does not accept 4-digit years. The issues described above are cosmetic display problems. Data is stored correctly and clock rollover to the year 2000 will not cause data loss. The most restrictive structure Visual SourceSafe uses for dates is a long integer containing the number of seconds since January 1, 1970. Testing guidelines and recommendations: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||
See Below | ||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), Windows 98 (plus Y2K updates), Year 2000 update for Internet Explorer 3.02, SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 | ||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||
This report applies to: VB 5.0- Learning, Professional, Enterprise Czech, Polish, Portuguese (Brazil), and Russian contain US Software. Developing Year 2000 Compliant Software Operational Range for Data: 1930 through 2029 using two-digit shortcuts or user configurable How the product runtime handles dates: While all versions of Visual Basic will handle years greater than 1999 (in a 4-digit format), passing a 2-digit year in a date (such as 7/3/45) requires Visual Basic to interpret to what century the date corresponds. Two-digit shortcut handling: Visual Basic 5.0 converts 2-digit years to 4-digit years based on the default in the Automation libraries for all date functions. Visual Basic 5.0 shipped with version 2.20.4054 that converts 2-digit years to the 2000s if the 2-digit year is between 00 and 29. If the 2-digit year is between 30 and 99, the date is converted to the 1900s. The product will function into the 21st century through the end of year 2030 in accordance with industry standard 100-year date windowing. Developers can modify this date window to their own needs as described in the Windows 98 control panel or as described in the white paper, " Developing Y2K Compliant Applications with Visual Basic"Recommended practices to develop year 2000 compliant applications with this Development Tool: Users can use their own set of rules instead of relying on the defaults native to Visual Basic. For example, users may enter only a 2-digit year and have 00 to 49 correspond to the years 2000 to 2049 and have 50 to 99 correspond to the years 1950 to 1999. When accepting a date string from the user, test the format of the string to determine the number of digits entered for the year. According to the rules for this sample application, 1/11/45 is in the year 2045, and not in the year 1945. Within the code for the application, change the string to use the appropriate 4-digit year, and then convert that date string with the 4-digit year into a date variable. Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of: If the products or technologies listed below are installed, they should be updated to ensure proper functioning:
Note for Enterprise Edition Users Visual SourceSafe contains a small cosmetic display issue when using the history pre-dialog: 1. In the History pre-dialog where users can specify a date range to do a history on ("show me the History between 1/1/97 and 2/24/2000), if users specify a date after the year 2000, it will be treated as a date in the 1900s. The same problem exists on the command line. 2. The history pre-dialog in version 5.0 does not accept 4-digit years. The issues described above are cosmetic display problems. Data is stored correctly and clock rollover to the year 2000 will not cause data loss. The most restrictive structure Visual SourceSafe uses for dates is a long integer containing the number of seconds since January 1, 1970. Testing guidelines and recommendations: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||||||||
See Below | ||||||||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 or greater, Visual Database Tools 6.0 | ||||||||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||||||||
This report applies to: Introductory, Enterprise, Learning, Professional, and Standard editions.Operational Range for Data: 1930 through 2029 using 2-digit shortcuts or user configurable. Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian versions contain US software. Developing Year 2000 Compliant Software How the product runtime handles dates: Visual Basic 6.0 stores year-dates internally as 4-digits. Two-digit shortcut handling: The first 2 digits are assumed according to a specific rule in cases where only 2 digits are supplied for the date. The rule is: 2-digit dates between 00-29 are assumed to occur in the 2000s (2000-2029). 2-digit dates between 30-99 are assumed to occur in the 1900s (1930-1999). NOTE: This string to date conversion is done by OLE-Automation. Starting from the version of OLE Automation shipped with Visual Studio 6 (Fall 98), OLE-Automation (32-bit and beyond) will allow the user or administrator to set the 100-year window for parsing 2-digit dates. (The default will be as stated above, 1930 - 2029). Outlook Express 4.01 date handling: Outlook Express 4.01 (OE) is included with, but not a requirement forVisual Basic 6.0. If Outlook Express 4.01 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 current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.Recommended practices to develop year 2000 compliant applications with this Development Tool: The product has known issues when dates are stored as strings. It is recommended that all dates are stored using Date data type as opposed to strings. User-defined functions are a prime area of date handling errors. A poorly written function may lead to problems. Dates that are stored as strings can also be a problem if there is an error in the information. Visual Basic will interpret a string as a date if, by rearranging the month/day/year order, a valid date can be found. For example, both 3/30/98 (March 30, 1998) and 87/3/1 (March 1, 1987) are valid dates even though the month/day/year order have changed. For more information on which occasions might result in a date conversion error, please see the OLE Automation compliance documentFor more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: If the following products or technologies are installed, they should be updated to ensure proper functioning:
Oracle Issues There is an issue regarding 2-digit year parsing in the Visual Database Tools when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900. The recommended work-around for this is to set your system’s Short Date format to include a 4-digit year. A design-time update to the Visual Database Tools that addresses this issue is available for download as a part of Visual Studio 6.0 Service Pack 3.
Testing guidelines and recommendations: Chapter 9 of Visual Basic documentation on MSDN has several examples of how to test for Year 2000 problems in Visual Basic applications. This is available on http://msdn.microsoft.com/library/books/advnvb5/html/Ch09.htm
For more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||||||||
See Below | ||||||||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 or greater, Visual Database Tools 6.0 | ||||||||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||||||||
This report applies to: Introductory, Enterprise, Learning, Professional, and Standard editions.Operational Range for Data: 1930 through 2029 using 2-digit shortcuts or user configurable. Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian versions contain US software. Developing Year 2000 Compliant Software How the product runtime handles dates: Visual Basic 6.0 stores year-dates internally as 4-digits. Two-digit shortcut handling: The first 2 digits are assumed according to a specific rule in cases where only 2 digits are supplied for the date. The rule is: 2-digit dates between 00-29 are assumed to occur in the 2000s (2000-2029). 2-digit dates between 30-99 are assumed to occur in the 1900s (1930-1999). NOTE: This string to date conversion is done by OLE-Automation. Starting from the version of OLE Automation shipped with Visual Studio 6 (Fall 98), OLE-Automation (32-bit and beyond) will allow the user or administrator to set the 100-year window for parsing 2-digit dates. (The default will be as stated above, 1930 - 2029). Outlook Express 4.01 date handling: Outlook Express 4.01 (OE) is included with, but not a requirement forVisual Basic 6.0. If Outlook Express 4.01 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 current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.Recommended practices to develop year 2000 compliant applications with this Development Tool: The product has known issues when dates are stored as strings. It is recommended that all dates are stored using Date data type as opposed to strings. User-defined functions are a prime area of date handling errors. A poorly written function may lead to problems. Dates that are stored as strings can also be a problem if there is an error in the information. Visual Basic will interpret a string as a date if, by rearranging the month/day/year order, a valid date can be found. For example, both 3/30/98 (March 30, 1998) and 87/3/1 (March 1, 1987) are valid dates even though the month/day/year order have changed. For more information on which occasions might result in a date conversion error, please see the OLE Automation compliance documentFor more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: If the following products or technologies are installed, they should be updated to ensure proper functioning:
Oracle Issues There is an issue regarding 2-digit year parsing in the Visual Database Tools when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900. The recommended work-around for this is to set your system’s Short Date format to include a 4-digit year. A design-time update to the Visual Database Tools that addresses this issue is available for download as a part of Visual Studio 6.0 Service Pack 3.
Testing guidelines and recommendations: Chapter 9 of Visual Basic documentation on MSDN has several examples of how to test for Year 2000 problems in Visual Basic applications. This is available on http://msdn.microsoft.com/library/books/advnvb5/html/Ch09.htm
For more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||||||||
See Below | ||||||||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 or greater, Visual Database Tools 6.0 | ||||||||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||||||||
This report applies to: Introductory, Enterprise, Learning, Professional, and Standard editions.Operational Range for Data: 1930 through 2029 using 2-digit shortcuts or user configurable. Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian versions contain US software. Developing Year 2000 Compliant Software How the product runtime handles dates: Visual Basic 6.0 stores year-dates internally as 4-digits. Two-digit shortcut handling: The first 2 digits are assumed according to a specific rule in cases where only 2 digits are supplied for the date. The rule is: 2-digit dates between 00-29 are assumed to occur in the 2000s (2000-2029). 2-digit dates between 30-99 are assumed to occur in the 1900s (1930-1999). NOTE: This string to date conversion is done by OLE-Automation. Starting from the version of OLE Automation shipped with Visual Studio 6 (Fall 98), OLE-Automation (32-bit and beyond) will allow the user or administrator to set the 100-year window for parsing 2-digit dates. (The default will be as stated above, 1930 - 2029). Outlook Express 4.01 date handling: Outlook Express 4.01 (OE) is included with, but not a requirement forVisual Basic 6.0. If Outlook Express 4.01 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 current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.Recommended practices to develop year 2000 compliant applications with this Development Tool: The product has known issues when dates are stored as strings. It is recommended that all dates are stored using Date data type as opposed to strings. User-defined functions are a prime area of date handling errors. A poorly written function may lead to problems. Dates that are stored as strings can also be a problem if there is an error in the information. Visual Basic will interpret a string as a date if, by rearranging the month/day/year order, a valid date can be found. For example, both 3/30/98 (March 30, 1998) and 87/3/1 (March 1, 1987) are valid dates even though the month/day/year order have changed. For more information on which occasions might result in a date conversion error, please see the OLE Automation compliance documentFor more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: If the following products or technologies are installed, they should be updated to ensure proper functioning:
Oracle Issues There is an issue regarding 2-digit year parsing in the Visual Database Tools when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900. The recommended work-around for this is to set your system’s Short Date format to include a 4-digit year. A design-time update to the Visual Database Tools that addresses this issue is available for download as a part of Visual Studio 6.0 Service Pack 3.
Testing guidelines and recommendations: Chapter 9 of Visual Basic documentation on MSDN has several examples of how to test for Year 2000 problems in Visual Basic applications. This is available on http://msdn.microsoft.com/library/books/advnvb5/html/Ch09.htm
For more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||||||||
See Below | ||||||||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 or greater, Visual Database Tools 6.0 | ||||||||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||||||||
This report applies to: Introductory, Enterprise, Learning, Professional, and Standard editions.Operational Range for Data: 1930 through 2029 using 2-digit shortcuts or user configurable. Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian versions contain US software. Developing Year 2000 Compliant Software How the product runtime handles dates: Visual Basic 6.0 stores year-dates internally as 4-digits. Two-digit shortcut handling: The first 2 digits are assumed according to a specific rule in cases where only 2 digits are supplied for the date. The rule is: 2-digit dates between 00-29 are assumed to occur in the 2000s (2000-2029). 2-digit dates between 30-99 are assumed to occur in the 1900s (1930-1999). NOTE: This string to date conversion is done by OLE-Automation. Starting from the version of OLE Automation shipped with Visual Studio 6 (Fall 98), OLE-Automation (32-bit and beyond) will allow the user or administrator to set the 100-year window for parsing 2-digit dates. (The default will be as stated above, 1930 - 2029). Outlook Express 4.01 date handling: Outlook Express 4.01 (OE) is included with, but not a requirement forVisual Basic 6.0. If Outlook Express 4.01 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 current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.Recommended practices to develop year 2000 compliant applications with this Development Tool: The product has known issues when dates are stored as strings. It is recommended that all dates are stored using Date data type as opposed to strings. User-defined functions are a prime area of date handling errors. A poorly written function may lead to problems. Dates that are stored as strings can also be a problem if there is an error in the information. Visual Basic will interpret a string as a date if, by rearranging the month/day/year order, a valid date can be found. For example, both 3/30/98 (March 30, 1998) and 87/3/1 (March 1, 1987) are valid dates even though the month/day/year order have changed. For more information on which occasions might result in a date conversion error, please see the OLE Automation compliance documentFor more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: If the following products or technologies are installed, they should be updated to ensure proper functioning:
Oracle Issues There is an issue regarding 2-digit year parsing in the Visual Database Tools when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900. The recommended work-around for this is to set your system’s Short Date format to include a 4-digit year. A design-time update to the Visual Database Tools that addresses this issue is available for download as a part of Visual Studio 6.0 Service Pack 3.
Testing guidelines and recommendations: Chapter 9 of Visual Basic documentation on MSDN has several examples of how to test for Year 2000 problems in Visual Basic applications. This is available on http://msdn.microsoft.com/library/books/advnvb5/html/Ch09.htm
For more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||||||||
See Below | ||||||||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 or greater, Visual Database Tools 6.0 | ||||||||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||||||||
This report applies to: Introductory, Enterprise, Learning, Professional, and Standard editions.Operational Range for Data: 1930 through 2029 using 2-digit shortcuts or user configurable. Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian versions contain US software. Developing Year 2000 Compliant Software How the product runtime handles dates: Visual Basic 6.0 stores year-dates internally as 4-digits. Two-digit shortcut handling: The first 2 digits are assumed according to a specific rule in cases where only 2 digits are supplied for the date. The rule is: 2-digit dates between 00-29 are assumed to occur in the 2000s (2000-2029). 2-digit dates between 30-99 are assumed to occur in the 1900s (1930-1999). NOTE: This string to date conversion is done by OLE-Automation. Starting from the version of OLE Automation shipped with Visual Studio 6 (Fall 98), OLE-Automation (32-bit and beyond) will allow the user or administrator to set the 100-year window for parsing 2-digit dates. (The default will be as stated above, 1930 - 2029). Outlook Express 4.01 date handling: Outlook Express 4.01 (OE) is included with, but not a requirement forVisual Basic 6.0. If Outlook Express 4.01 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 current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.Recommended practices to develop year 2000 compliant applications with this Development Tool: The product has known issues when dates are stored as strings. It is recommended that all dates are stored using Date data type as opposed to strings. User-defined functions are a prime area of date handling errors. A poorly written function may lead to problems. Dates that are stored as strings can also be a problem if there is an error in the information. Visual Basic will interpret a string as a date if, by rearranging the month/day/year order, a valid date can be found. For example, both 3/30/98 (March 30, 1998) and 87/3/1 (March 1, 1987) are valid dates even though the month/day/year order have changed. For more information on which occasions might result in a date conversion error, please see the OLE Automation compliance documentFor more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: If the following products or technologies are installed, they should be updated to ensure proper functioning:
Oracle Issues There is an issue regarding 2-digit year parsing in the Visual Database Tools when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900. The recommended work-around for this is to set your system’s Short Date format to include a 4-digit year. A design-time update to the Visual Database Tools that addresses this issue is available for download as a part of Visual Studio 6.0 Service Pack 3.
Testing guidelines and recommendations: Chapter 9 of Visual Basic documentation on MSDN has several examples of how to test for Year 2000 problems in Visual Basic applications. This is available on http://msdn.microsoft.com/library/books/advnvb5/html/Ch09.htm
For more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||||||||
See Below | ||||||||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 or greater, Visual Database Tools 6.0 | ||||||||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||||||||
This report applies to: Introductory, Enterprise, Learning, Professional, and Standard editions.Operational Range for Data: 1930 through 2029 using 2-digit shortcuts or user configurable. Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian versions contain US software. Developing Year 2000 Compliant Software How the product runtime handles dates: Visual Basic 6.0 stores year-dates internally as 4-digits. Two-digit shortcut handling: The first 2 digits are assumed according to a specific rule in cases where only 2 digits are supplied for the date. The rule is: 2-digit dates between 00-29 are assumed to occur in the 2000s (2000-2029). 2-digit dates between 30-99 are assumed to occur in the 1900s (1930-1999). NOTE: This string to date conversion is done by OLE-Automation. Starting from the version of OLE Automation shipped with Visual Studio 6 (Fall 98), OLE-Automation (32-bit and beyond) will allow the user or administrator to set the 100-year window for parsing 2-digit dates. (The default will be as stated above, 1930 - 2029). Outlook Express 4.01 date handling: Outlook Express 4.01 (OE) is included with, but not a requirement forVisual Basic 6.0. If Outlook Express 4.01 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 current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.Recommended practices to develop year 2000 compliant applications with this Development Tool: The product has known issues when dates are stored as strings. It is recommended that all dates are stored using Date data type as opposed to strings. User-defined functions are a prime area of date handling errors. A poorly written function may lead to problems. Dates that are stored as strings can also be a problem if there is an error in the information. Visual Basic will interpret a string as a date if, by rearranging the month/day/year order, a valid date can be found. For example, both 3/30/98 (March 30, 1998) and 87/3/1 (March 1, 1987) are valid dates even though the month/day/year order have changed. For more information on which occasions might result in a date conversion error, please see the OLE Automation compliance documentFor more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: If the following products or technologies are installed, they should be updated to ensure proper functioning:
Oracle Issues There is an issue regarding 2-digit year parsing in the Visual Database Tools when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900. The recommended work-around for this is to set your system’s Short Date format to include a 4-digit year. A design-time update to the Visual Database Tools that addresses this issue is available for download as a part of Visual Studio 6.0 Service Pack 3.
Testing guidelines and recommendations: Chapter 9 of Visual Basic documentation on MSDN has several examples of how to test for Year 2000 problems in Visual Basic applications. This is available on http://msdn.microsoft.com/library/books/advnvb5/html/Ch09.htm
For more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||||||||
See Below | ||||||||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 or greater, Visual Database Tools 6.0 | ||||||||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||||||||
This report applies to: Introductory, Enterprise, Learning, Professional, and Standard editions.Operational Range for Data: 1930 through 2029 using 2-digit shortcuts or user configurable. Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian versions contain US software. Developing Year 2000 Compliant Software How the product runtime handles dates: Visual Basic 6.0 stores year-dates internally as 4-digits. Two-digit shortcut handling: The first 2 digits are assumed according to a specific rule in cases where only 2 digits are supplied for the date. The rule is: 2-digit dates between 00-29 are assumed to occur in the 2000s (2000-2029). 2-digit dates between 30-99 are assumed to occur in the 1900s (1930-1999). NOTE: This string to date conversion is done by OLE-Automation. Starting from the version of OLE Automation shipped with Visual Studio 6 (Fall 98), OLE-Automation (32-bit and beyond) will allow the user or administrator to set the 100-year window for parsing 2-digit dates. (The default will be as stated above, 1930 - 2029). Outlook Express 4.01 date handling: Outlook Express 4.01 (OE) is included with, but not a requirement forVisual Basic 6.0. If Outlook Express 4.01 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 current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.Recommended practices to develop year 2000 compliant applications with this Development Tool: The product has known issues when dates are stored as strings. It is recommended that all dates are stored using Date data type as opposed to strings. User-defined functions are a prime area of date handling errors. A poorly written function may lead to problems. Dates that are stored as strings can also be a problem if there is an error in the information. Visual Basic will interpret a string as a date if, by rearranging the month/day/year order, a valid date can be found. For example, both 3/30/98 (March 30, 1998) and 87/3/1 (March 1, 1987) are valid dates even though the month/day/year order have changed. For more information on which occasions might result in a date conversion error, please see the OLE Automation compliance documentFor more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: If the following products or technologies are installed, they should be updated to ensure proper functioning:
Oracle Issues There is an issue regarding 2-digit year parsing in the Visual Database Tools when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900. The recommended work-around for this is to set your system’s Short Date format to include a 4-digit year. A design-time update to the Visual Database Tools that addresses this issue is available for download as a part of Visual Studio 6.0 Service Pack 3.
Testing guidelines and recommendations: Chapter 9 of Visual Basic documentation on MSDN has several examples of how to test for Year 2000 problems in Visual Basic applications. This is available on http://msdn.microsoft.com/library/books/advnvb5/html/Ch09.htm
For more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||||||||
See Below | ||||||||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 or greater, Visual Database Tools 6.0 | ||||||||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||||||||
This report applies to: Introductory, Enterprise, Learning, Professional, and Standard editions.Operational Range for Data: 1930 through 2029 using 2-digit shortcuts or user configurable. Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian versions contain US software. Developing Year 2000 Compliant Software How the product runtime handles dates: Visual Basic 6.0 stores year-dates internally as 4-digits. Two-digit shortcut handling: The first 2 digits are assumed according to a specific rule in cases where only 2 digits are supplied for the date. The rule is: 2-digit dates between 00-29 are assumed to occur in the 2000s (2000-2029). 2-digit dates between 30-99 are assumed to occur in the 1900s (1930-1999). NOTE: This string to date conversion is done by OLE-Automation. Starting from the version of OLE Automation shipped with Visual Studio 6 (Fall 98), OLE-Automation (32-bit and beyond) will allow the user or administrator to set the 100-year window for parsing 2-digit dates. (The default will be as stated above, 1930 - 2029). Outlook Express 4.01 date handling: Outlook Express 4.01 (OE) is included with, but not a requirement forVisual Basic 6.0. If Outlook Express 4.01 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 current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.Recommended practices to develop year 2000 compliant applications with this Development Tool: The product has known issues when dates are stored as strings. It is recommended that all dates are stored using Date data type as opposed to strings. User-defined functions are a prime area of date handling errors. A poorly written function may lead to problems. Dates that are stored as strings can also be a problem if there is an error in the information. Visual Basic will interpret a string as a date if, by rearranging the month/day/year order, a valid date can be found. For example, both 3/30/98 (March 30, 1998) and 87/3/1 (March 1, 1987) are valid dates even though the month/day/year order have changed. For more information on which occasions might result in a date conversion error, please see the OLE Automation compliance documentFor more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: If the following products or technologies are installed, they should be updated to ensure proper functioning:
Oracle Issues There is an issue regarding 2-digit year parsing in the Visual Database Tools when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900. The recommended work-around for this is to set your system’s Short Date format to include a 4-digit year. A design-time update to the Visual Database Tools that addresses this issue is available for download as a part of Visual Studio 6.0 Service Pack 3.
Testing guidelines and recommendations: Chapter 9 of Visual Basic documentation on MSDN has several examples of how to test for Year 2000 problems in Visual Basic applications. This is available on http://msdn.microsoft.com/library/books/advnvb5/html/Ch09.htm
For more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
- | ||||||||||||||||||||||||||
See Below | ||||||||||||||||||||||||||
Windows NT 4.0 Service Pack 4, Windows 95 (+ year 2000 software updates), Windows 98 (+ year 2000 software updates), SQL Server 6.5 Service Pack 5, MDAC 2.0 Service Pack 2 or greater, Visual Database Tools 6.0 | ||||||||||||||||||||||||||
System Clock, Visual Basic runtime, (OLE) Automation Libraries | ||||||||||||||||||||||||||
26 Oct 1999 | ||||||||||||||||||||||||||
This report applies to: Introductory, Enterprise, Learning, Professional, and Standard editions.Operational Range for Data: 1930 through 2029 using 2-digit shortcuts or user configurable. Czech, Hungarian, Polish, Portuguese (Brazil), Romanian, and Russian versions contain US software. Developing Year 2000 Compliant Software How the product runtime handles dates: Visual Basic 6.0 stores year-dates internally as 4-digits. Two-digit shortcut handling: The first 2 digits are assumed according to a specific rule in cases where only 2 digits are supplied for the date. The rule is: 2-digit dates between 00-29 are assumed to occur in the 2000s (2000-2029). 2-digit dates between 30-99 are assumed to occur in the 1900s (1930-1999). NOTE: This string to date conversion is done by OLE-Automation. Starting from the version of OLE Automation shipped with Visual Studio 6 (Fall 98), OLE-Automation (32-bit and beyond) will allow the user or administrator to set the 100-year window for parsing 2-digit dates. (The default will be as stated above, 1930 - 2029). Outlook Express 4.01 date handling: Outlook Express 4.01 (OE) is included with, but not a requirement forVisual Basic 6.0. If Outlook Express 4.01 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 current year is a multiple of 100 (e.g. 2000), the year will be interpreted as the current year plus 98 (e.g. 2098). You can find more information about this in the Internet Explorer (32-bit) 4.0x Year 2000 disclosure document.Recommended practices to develop year 2000 compliant applications with this Development Tool: The product has known issues when dates are stored as strings. It is recommended that all dates are stored using Date data type as opposed to strings. User-defined functions are a prime area of date handling errors. A poorly written function may lead to problems. Dates that are stored as strings can also be a problem if there is an error in the information. Visual Basic will interpret a string as a date if, by rearranging the month/day/year order, a valid date can be found. For example, both 3/30/98 (March 30, 1998) and 87/3/1 (March 1, 1987) are valid dates even though the month/day/year order have changed. For more information on which occasions might result in a date conversion error, please see the OLE Automation compliance documentFor more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Common development errors dealing with year 2000 date issues: Please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"Other design time issues to be aware of when using this tool: If the following products or technologies are installed, they should be updated to ensure proper functioning:
Oracle Issues There is an issue regarding 2-digit year parsing in the Visual Database Tools when connecting to an Oracle database with a system configured for 2-digit year format. If the year entered into the Grid Pane’s Criteria cell is between 2029 and 2000 (the system default 2-digit year window for year 2000 dates) the date will be converted by OLEAUT32 into a 2-digit value when parsed into the SQL Pane. Oracle will interpret this as a year between 1929 and 1900. The recommended work-around for this is to set your system’s Short Date format to include a 4-digit year. A design-time update to the Visual Database Tools that addresses this issue is available for download as a part of Visual Studio 6.0 Service Pack 3.
Testing guidelines and recommendations: Chapter 9 of Visual Basic documentation on MSDN has several examples of how to test for Year 2000 problems in Visual Basic applications. This is available on http://msdn.microsoft.com/library/books/advnvb5/html/Ch09.htm
For more information, please refer to the white paper, " Developing Y2K Compliant Applications with Visual Basic"
|
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. |
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. |