Y2K, Year 2000, Y2000, Millenium "bug", what's it all about ?


So what is this problem they call the Y2K, Year 2000, Y2000 or Millenium "bug" ?

In simple terms, many computer systems (even fairly new ones !) hold dates with only 2 character years, e.g. "97". When the year 2000 arrives the year would be stored as "00", confusing the computer systems.

Why will that confuse computer systems ?

Most computer systems use the date to calculate durations for things like insurance policies or order lead times, etc. When the programs try to calculate the difference between 99 and 00 they will either crash (producing an error) or incorrectly calculate a duration of 99 years !

Surely my PC is OK, the software is all new ?

Maybe, BUT even the latest versions of some computer packages store dates with only two character years by default. Many computer packages are affected.

How do I know if my systems are affected ?

A computer system is made up of two main parts - databases/files and programs.

There are many YEAR 2000 utilities available that can help locate date problems within both areas, many of which can either be downloaded or more information requested on the Internet.

Where do I find these tools?

To help identify Year 2000 problems in your databases, spreadsheets, files and programs you can download a copy of Datefind-db from http://www.astuk.com/y2kdown.html

Further Reading

PC World Explains the Year 2000 Problem...


Two years: the span of a junior college education. The wait between Batman movies. Half of Jimmy Carter's presidency. And it's the time you have left to prepare for the year 2000 problem. And no, it isn't just something that mainframe programmers have to worry about.

This problem, also called the millennium bug, is the result of some astonishing shortsightedness. To conserve storage space--once far more precious than it is today--many PCs, mainframes, and applications use only two digits to store years. When you type '01/16/98', a computer knows that you mean January 16, 1998. This works fine until the dawn of a new century. Then if you enter '01/16/00', the computer gets confused: Is the year 1900 or 2000?

In the world of big organizations, giant computers, and ancient software, this confusion spells trouble. One example: Computerized electric power plants are programmed to shut down machinery that has gone too long without routine maintenance. So if the last tune-up was done in 1999, and come the year 2000 the plant's computer system decides that it's really 1900, it may cut off the power.

There's a common belief that this isn't really a problem for modern PCs--that today's off-the-shelf software for personal computers is ready for the new millennium. If you're using the current version of a program, or even one that's a couple of years old, that's almost certainly true. But the real issue is how you are using that software, and how the people around you use it. Why? Because a program that can subtract 1998 from 2004 still needs to know that the '98' and '04' you typed in or imported from an older program are in fact years in different centuries

Software Targets

Which applications should you worry about? Spreadsheets, databases, and accounting programs are the main candidates for problems. But other types of software can cause trouble if they don't understand centuries. Intuit's Quicken 3.0 for DOS personal finance package, for instance, allows you to enter only two-digit years: Type '01', and your entries will be dated 1901. Type '00', and you'll get an error message.

The good news is that virtually all current versions of applications can recognize dates in the twenty-first century. Every version of Lotus 1-2-3 and Microsoft Excel ever released knows that 2001 comes three years after 1998. And the Windows version of Quicken can handle dates properly. The few notable exceptions, such as Novell NetWare 3.12, are in the process of being fixed.

Of course, even up-to-date software needs the right information. Consider how you enter years into a spreadsheet. Many people simply type in two-digit numbers without formatting the information as a date. As a result, the spreadsheet would treat a '00' entered in a Year column not as the year that comes after 1999, but as the number that comes before '01'. A late payment that was due in 1999 but received in 2000 would go on the records as having been paid 99 years early. To correct this problem in an existing spreadsheet, you may have to modify the numbers or formatting manually.

If you enter '01/16/98', your Windows spreadsheet program will recognize it as a date, and will automatically convert the two-digit year into four digits. Spreadsheets and other programs guess centuries by something called the pivot year. If a program's pivot is 50, it will assume that a year entered as '49' or below is in the twenty-first century, while '50' and above is in the twentieth. But pivot years vary from program to program, and even between versions. Excel 7.0's pivot year is 20, while Excel 97's--to make it compatible with other Office 97 programs--is 30, so the two versions place a date entered as '1/5/28' into different centuries.

Your best bet is simply to type only four-digit years--or at least format dates so they're always displayed with four-digit years.

The problems become worse when data gets passed around. Say you copy a table from your word processor or a Web site and paste it into your spreadsheet. Maybe you're collaborating on a report with Ernie in Accounting, passing files back and forth. Or your worksheet may use OLE to access a company SQL database, and you don't even know it.

Sharing Errors

This is where the real disaster could be lurking. Even if a program understands the centuries internally (not always the case with vertical applications and custom databases), it may export data with two-digit years. When you load that data into another program, the pivot-year guessing game returns: Dates that Excel sees as belonging in the twentieth century will be interpreted by 1-2-3 as belonging in the twenty-first.

There's no simple solution. You'll need to find out where your data is originating and determine how dates are handled. Try sending a file with twenty-first-century dates to see how networked databases or coworkers' apps handle them

The PC Clock Is Ticking

Your hardware may not handle the millennium transition without help. A PC's clock mechanism is a hodgepodge of timekeepers in the operating system, BIOS, and a chip called the CMOS RTC. But most apps read the date from the OS, so most date problems originating in hardware are easy to spot in your applications and almost as easy to fix. Setting the clock manually once should do the trick.

Of course, all this preparation could be irrelevant. If your power company doesn't solve its year 2000 problem, you won't have any electricity

Prepare for the Millennium

Several freeware programs can tell if your system can handle the transition to the year 2000. Even if your PC fails the tests, there's a good chance that setting the date manually the first time you boot up in 2000 will solve the problem. If you can't stand the suspense, contact your PC vendor for a BIOS upgrade now.

Apps Are Trickier

Preparing your software will be more of a challenge.

1. Set your applications to display and output four-digit years. You can change many apps with one setting in Windows 95: From the Start menu, select Settings, Control Panel. Double-click the Regional Settings icon, then click the Date tab. From the drop-down list box next to the "Short date style" field, select M/d/yyyy. Then click OK.

2. Determine the pivot years for your critical databases, spreadsheets, and custom applications. Enter several dates that have two-digit years--for example, 01/01/00, 01/01/30, and 01/01/50. If your program displays four-digit years (see step 1), you'll instantly see which century it put your entries into. Find the lowest two-digit year entry that the app prefixes with "19." That's the pivot year. Remember it when you enter dates.

3. Determine how you share data between apps and with coworkers. Are you sharing a worksheet with someone? Make sure they are also following steps 1 and 2. If you're working with a network database, find out what format it uses to pass data to your local applications.

 

 

 

What will happen to a computer that is not Year 2000 compliant?

There are two possible scenarios for unprepared systems:

  1. The system will roll over to 01-01-00 but assume it's January 1, 1900, rather than January 1, 2000. January 1, 1900 was a Monday, while January 1, 2000 will be a Saturday. This means that day-sensitive computers that control automated bank safe doors may swing the doors open or traffic lights could operate on a rush-hour schedule.
  2. Your driver's license could expire because, according to the computer, you haven't been born yet.

    To calculate interest, your bank might subtract the current date, 01-01-00, from the last time it calculated interest,12-01-99, and determine that it owes you a negative 99 years and 11 months worth of interest, giving you a negative balance.

    A ten-minute phone call placed at midnight, December 31, 1999, could rack up a bill of $5,259,599 (that's 99.9 years at 10 cents a minute).

  3. Instead of rolling over, the computers just crash and become inoperable.


Key Facts on Year 2000


How BIG is the Year 2000 Problem?