Many of us have undoubtedly adopted the common habit of entering dates containing just two digits for the year (ending in values like "98" or "/98") into our application programs. For example, we may have typed dates with two-digit years into spreadsheet cells or entered them into fields on database screens.
Microsoft's OLE Automation Libraries -- a set of four files first introduced with Windows 95 and NT 3.5.1 -- tell the Windows operating system and many application programs how to interpret such century-ambiguous dates. These libraries determine, for example, whether the date "05/13/29" should be interpreted as May 13, 1929 or May 13, 2029.
As Microsoft notes, "many of your applications probably use the automation libraries for date handling." Included among these are some of Microsoft's most popular programs, such as Access, Excel, and Visual Basic.
Microsoft has revised these Automation Libraries three times, each time "changing the rules" about how two-digit dates are handled:
| Earlier than version 2.20.4054 | All two-digit years, from "00" through "99", are interpreted as falling within the period from "1900" to "1999". |
| Versions 2.20.00.4054 to 2.29.xx.xxxx inclusive | Two-digit years from "00" through "29" are interpreted as
falling within the period from "2000" through "2029".
Two-digit years from "30" through "99" are interpreted as falling within the period from "1930" through "1999". |
| Versions 2.30.00.xxxx and higher | The method varies based on the user's setting of a
"pivot year". Dates lower than and equal to that year
will be interpreted as falling within the 21th century, while
all other dates will be interpreted as falling within the 20st century.
For example, if the pivot year were set to "2010", then two-digit years from "00" through "10" would be interpreted as falling within the period from "2000" through "2010", while two-digit years from "11" through "99" would be interpreted as falling within the period from "1911" through "1999". In Windows 98, this pivot year can be set in the Regional Settings Fortunately, the default setting for a pivot year in Windows 98 is "2029", so the default behavior of the latest Automation Libraries is identical to that of versions 2.20.00.4054 through 2.29.xx.xxxx above. Nontheless, this feature introduces the prospect that each PC user within a department or workgroup could potentially have their applications using a different method of assigning dates with two digit years to one century or another! |
If you reinstall the Windows operating system; apply Service Packs or other Windows updates; or even install certain application programs, such as the Microsoft Internet Explorer Web browser, this can cause different versions of the OLE Automation Libraries files to be installed, which can in turn change the way that the Windows operating system and some of your Windows programs will interpret dates with two-digit years.
Of particular concern, versions of the Automation Libraries prior to 2.20.00.4054 will always interpret two-digit dates from "00" through "99" as falling within the period from "1900" to "1999", which will probably not be desirable when the year 2000 arrives. For this reason, you might want to check to make sure that you're using version 2.20.00.4054 or higher.
The following articles discuss the Automation Libraries and explain their impact on how Windows and some application programs assign dates with two-digit year values to either the 20th or 21st centuries:
Microsoft White Paper
The Automation Libraries and the Year 2000
![]()
Dan Haught, FMS, Inc.
Solving the Year 2000 Problem in Microsoft Desktop Application Programs
![]()
Rob Harmer Consulting Services
Microsoft provides Automation Libraries that affect the Year 2000 date transition!
![]()