|
|
||||||
|
MSYr2000 |
||||||
|
Year 2000 Issue - Frequently Asked Questions |
||||||
|
September 1997 Q 1: What is Microsoft’s overall position on the Year 2000 issue? To assist our customers with potential technology issues in the transition to the Year 2000, Microsoft has given our customers the ability to:
While minor compared with the issues facing legacy systems, a few of Microsoft's products have had year 2000-related issues. These issues and solutions are highlighted in answer 6 below and the Microsoft KnowledgeBase. In addition, users of personal computers may encounter year 2000 problems including problems arising from the computer BIOS (described in answer 14 below). It is important that IT organizations look at their information systems end-to-end for potential Year 2000 problems. This is particularly appropriate since most organizations use technology from multiple vendors. To assure the most reliable data and to reduce the potential for errors or unexpected results, Microsoft also recommends that our customers consider taking the following steps:
Microsoft looks forward to working with you as we transition to the 21st century. Q 2: How long has Microsoft been thinking about this Year 2000 issue? Q 3: What is the difference of the Year 2000 impact between Microsoft’s products and mainframes? By contrast, all of Microsoft’s operating systems, including MS-DOS, were designed with the ability to handle 4-digit dates well into the next century. Users can enter 2-digit shortcuts that are then stored as four digit dates by Microsoft products based on documented assumptions. Since there is no industry-wide standard on how to interpret 2-digit shortcuts, some PC applications in use today may interpret a 2-digit date differently than a user needs, and that user will need to type in all four digits (e.g. "2000" instead of "00") in order to ensure accurate data. Users must of course take responsibility for the accuracy of the data that has been entered under either the 2-digit or 4-digit method, but Microsoft products give users the ability to properly enter and store dates into the next century. Relative to the severity and expense of the mainframe problem, this is a minor issue. Q 4: Can I use 2-digit short cuts but have my PC display the 4-digit year as a default setting? This simple step will enable you to enter data using 2-digit shortcuts, and let you immediately see the 4-digit date the computer is storing. Thus, if you were unfamiliar with the shortcut in Excel 95 and entered "18" for "1918," this default setting would immediately show that you had actually entered "2018," and allow you to correct your data by re-entering the year in 4-digit form — "1918." Q 5: What is Microsoft doing to raise the awareness of the Year 2000 issue? Microsoft Web sites:
Other Web sites with Year 2000 information include:
Q 6: Do Microsoft’s products have year 2000-related bugs? |
||||||
|
Product Name |
Knowledge Base Article(s) |
|||||
|
MS Access all versions |
Q162745, Q155669, Q132067, Q92816, Q161345 |
|||||
|
MS Excel all versions |
Q106339, Q118923, Q164406, Q73673 |
|||||
|
Exchange Server 4.0 |
Q152874, Q153655, Q152858, Q158263, Q158699 |
|||||
|
MS Project 4.0 |
Q161089, Q125305, Q160677 |
|||||
|
MS Works 1.x and 2.0 |
Q50679, Q100822 |
|||||
|
Visual Basic |
Q162718 |
|||||
|
Visual C++ 1.5-4.2 |
Q110719 |
|||||
|
Visual FoxPro |
Q162388, Q156009, Q169471, Q148873 |
|||||
|
Windows 3.x |
Q85557 |
|||||
|
Windows for Workgroups |
Q85557 |
|||||
|
Windows 95 |
Q85557 |
|||||
|
Windows NT-J 3.51 |
Q163915 |
|||||
|
Word 5.0 (for MS-DOS) |
Q68181 |
|||||
|
Word 6 |
Q171286 |
|||||
Table 1. Microsoft products with year 2000-related issues and the associated knowledge base articles. Q 7: What are the future year limits for Microsoft’s products? |
||||||
|
Microsoft Products that Store or Manipulate Dates |
Year Limit |
|||||
|
Microsoft Access |
9999 |
|||||
|
Microsoft Excel 95 |
2078 |
|||||
|
Microsoft Excel 97 |
9999 |
|||||
|
Microsoft Project 95 |
2049 |
|||||
|
Microsoft SQL Server™ |
9999 |
|||||
|
MS-DOS® file system (FAT16) |
2099 |
|||||
|
Outlook Calendar |
4500 |
|||||
|
Schedule+ |
2999 |
|||||
|
Visual C++®(4.x) runtime library |
2036 |
|||||
|
Visual FoxPro™ |
9999 |
|||||
|
Windows 3.x file system (FAT16) |
2099 |
|||||
|
Windows 95 file system (FAT16) |
2099 |
|||||
|
Windows 95 file system (FAT32) |
2108 |
|||||
|
Windows 95 runtime library (WIN32) |
2099 |
|||||
|
Windows for Workgroups (FAT16) |
2108 |
|||||
|
Windows NT file system (FAT16) |
2108 |
|||||
|
Windows NT file system (NTFS) |
29,601 |
|||||
|
Windows NT runtime library (WIN32) |
2099 |
|||||
|
WordBasic date commands in Microsoft Word |
4095 |
|||||
Table 2. The last year handled by all Microsoft products that store dates. Q 8: What are the 2-digit short cut details for Microsoft database products? Microsoft Access 97 interprets manual year input from "00" to "29" as short cuts for the years "2000" to "2029." Access 97 converts all 2-digit years within imported text files to 1900-based years. It is recommended that all legacy data sources be updated to contain 4-digit years to avoid incorrect conversions. Microsoft Access 95, and earlier versions, interpret manual year input from "00" to "29" to be short cuts for "1900" to "1929." Microsoft Excel versions 4, 5, and 7 all interpret "00" to "19" as short cuts for "2000" to "2019." Microsoft Excel 97 interprets 2-digit years from "00" to "29" as "2000" to "2029" and the short cut "30" will resolve to "1930." The 32-bit Windows operating systems, Windows 95 and Windows NT, contain a software library that, among other things, provides functions that can convert dates with 2-digit years to 4-digit years. By making use of this facility, called the "OLE Automation Library" (file name OLEAUT32.DLL), in new versions of our products we standardize on a common way for doing this conversion, which can then easily be modified by updating the library in question. The rules used by this library for doing the conversion, as well as the other Microsoft products that convert from a 2-digit to a 4-digit year, are shown in Table 3 below. An early version of the OLE Automation Library on Windows 95 converted all 2-digit years to the current century setting of the computer. |
||||||
|
Product Name |
20th Century |
21st Century |
||||
|
OLE Automation Library v2.10 and earlier (Windows NT 3.51 prior to service pack 4) |
1/1/00 — 12/31/99 |
Enter 4-digit year |
||||
|
OLE Automation Library v2.20 (Windows NT 3.51 service pack 4 and later, Windows NT 4, Windows 95) |
1/1/30 — 12/31/99 |
1/1/00 — 12/31/29 or enter 4-digit year |
||||
|
Microsoft Access 95 and earlier |
1/1/00 — 12/31/99 |
Enter 4-digit year |
||||
|
Microsoft Access 97 |
Uses OLE Automation Library |
|||||
|
Microsoft Excel versions 4, 5, and 7 |
1/1/20 — 12/31/99 |
1/1/00 — 12/31/19 or enter 4-digit year |
||||
|
Microsoft Excel 97 |
1/1/30 — 12/31/99 |
1/1/00 — 12/31/29 or enter 4-digit year |
||||
|
Microsoft Works for Windows, versions 2.0x, 3.0, 3.0a, and 3.0b |
1/1/00 — 12/31/99 |
Enter 4-digit year |
||||
|
Visual Basic 3.0 and earlier (VBRUN300.DLL) |
Uses current century |
|||||
|
Visual Basic 4.0 (16-bit) [DateSerial date function uses VBRUN400.DLL; all other functions use OLE Automation Libraries] |
Uses current century |
|||||
|
Visual Basic 4.0 (32-bit) DateSerial function uses VBRUN400.DLL |
Uses current century |
|||||
|
Visual Basic 4.0 and later (32-bit) except DateSerial function |
Uses OLE Automation Library |
|||||
|
Visual FoxPro versions prior to 5.0 |
1/1/00 — 12/31/99 |
Enter 4-digit year |
||||
|
Visual FoxPro 5.0 and later |
Determine by the "SET CENTURY TO...ROLLOVER..." |
|||||
|
MS-DOS® DATE command |
1/1/80 — 12/31/99 |
Enter 4-digit year |
||||
Table 3. The rules for converting 2-digit years to 4-digit years in Microsoft products. Q 9: What is the full range of dates Excel for Windows 95 (v7.0a) can handle? Earliest date not recognized even in 4-digit long/explicit "YYYY" format: 12/31/1899 First recognized date in 4-digit year format (1/1/1900): January 1, 1900 First recognized 2-digit short/assumed "YY" format (1/1/00): January 1, 2000 Last recognized 2-digit year format (12/31/19): December 31, 2019 Last recognized date in 4-digit year format (12/31/2078): December 31, 2078 First date not recognized in the next century: 1/1/2079 Note that Excel versions 5 and 4 also work this way! Q 10: What is the full range of dates Microsoft Excel 97 can handle? Earliest date not recognized even in 4-digit long/explicit "YYYY" format: 12/31/1899 First recognized date in 4-digit year format (1/1/1900): January 1, 1900 First recognized 2-digit short/assumed "YY" format (1/1/00): January 1, 2000 Last recognized 2-digit year format (12/31/29): December 31, 2029 Last recognized date in 4-digit year format (12/31/9999): December 31, 9999 First date not recognized in the future: 1/1/10,000 Q 11: Will Microsoft warrant that its products are year 2000 ready? Q 12: If Microsoft products are Year 2000 ready, why does Microsoft recommend that PC software be upgraded to versions from 1997 or later? Q 13: Does Microsoft recommend that I test out my current computer by resetting the date to just minutes before the year 2000 to see what happens? Q 14: I’ve heard that the BIOS included in some PCs doesn’t switch over to the year 2000 properly causing the operating system date to be reset to 1980. Can you comment on that? A brief definition for BIOS (Basic Input Output System): Software in a computer chip (also called firmware) used to manage the low-level input and output functions of personal computer hardware. The operating system is layered on top of the BIOS. Here are ways to address this issue:
While the BIOS issue isn't a problem created by Microsoft, it is an example of one way we are trying to make this transition as smooth as possible by providing information and suggested solutions for our customers. Q 15: I’ve heard that the MS-DOS "date" command returns the error message "Invalid date" when you type in "01-01-00" for January 1st, 2000. Can you comment on that? Q 16: What is expected to be Microsoft’s biggest problem when we do reach the year 2000? Q 17: Can PC-based applications have problems when we reach the year 2000? Q 18: What is Microsoft doing internally to be ready for the Year 2000? The difficulties outlined for developers include:
Suggestions for Microsoft’s developers throughout the design, code, and code review process (short list):
Suggestions for the testing process (short list):
Q 19: Is the year 2000 a leap year? 1) Years divisible by 4 are leap years, but 2) Years divisible by 100 are not leap years, but 3) Years divisible by 400 are leap years. The need for leap years is due to the fact that the actual length of a year is 365.242 days, not 365 days, as is commonly stated. To account for this, an extra day is added as February 29th on years that are evenly divisible by 4 (like 1992, for example). Since the year is slightly less than 365.25 days long, adding an extra day every four years results in about three extra days being added over a 400-year period. For this reason, one out of every four century years also needs to be a leap year. Q 20: Why doesn’t Microsoft adopt the NIST or other standard date formats in all of its products? Different standard bodies exist which have each specified date formats. Microsoft’s products follow the standards relevant to their product area (e.g. the Microsoft Visual C++ development system follows the ANSI standard date format for the C++ language). Microsoft’s products were also designed to be flexible and support the standard date formats of the 70+ countries in which we do business. |
||||||
|
Updated October, 1997 |
|