New millenium or year 2000.

As You undoubtedly have read elsewhere, mankind's next big challenge is how to survive the problems caused by computer systems failing at midnight 31dec 99.

Like all big problems it divides into smaller ones at closer inspection.

First. The internal clock in any computer will eventually overflow ( run out of bits). For (some) old PC:s this is said to be due early in the two-thousands. This is not a year2000 problem but a built-in limited lifetime issue.

Secondly you will get into trouble if your system stores and operates on dates using two-digit years. It works fine to store 01/01/00 but when you compare it with 31/12/99 (= 12/31/99 for some of you) it is less causing the system to behave as Jan. 1st 2000 is (almost 100years) before last December 1999.

In modern databases as UniVerse you store dates as number of days after some fixed day zero. In universe Dec. 31st 1967 is given the honor of being day 0. Now all problems disappear if you do all sorting and comparisons in internal format. A system written in universe may still have problems with year 2000. You may store years (which are not part of dates like accounting year or model/version year) with only two digits and if there is a need to sort them, get last year or decide which year is the earliest then you're in trouble.

There seems to be a general opinion that you need 4digit years in your dates to solve these problems but that is not true. In universe and other pick-derivated databases we have the convention that dates with year < 30 are 21st century and years > 29 are 20th century. This of course only moves the need for four digit years to fields (attributes) where dates before 1930 are expected.

Most date fields on screen forms do have space for 8 characters. This makes it possible to enter dates as 20021231 which by universe date input conversion is interpreted correctly as a valid date. Your system is likely to presents this date to you as 12/31/02, 31/12/02 or 02-12-31 depending on your choice of date conversion.

By the way, did You know that the above is the only international standard for writing dates that exists? It's true. The standard says (my wording) that if a date is written as 6 or 8 consecutive digits with no punctuation it should be interpreted as a 2 or 4 digit year followed by a 2digit month and a 2digit day of month.

 

Why is Jan. 1st 1968 day 1?

It's common belief in the Pick world that Richard Pick got the very first Pick-system up and running that day and that we continued to count days from there. Undoubtedly universe has inherited day 1 from pick but Mr Pick had better reasons to choose this date. To keep all date conversion routines as simple as possible day 1 has to be Jan. 1st of a leap year and at the same time a Monday (day 1 of the week). This happens only once every 28 year and 1968 is one of them. And remember, in those days processor cycles were precious.

 

Any conclusions ?

Choose products like universe that help You avoid hairy problems and for future business turn to suppliers, consultants and partners like us that don't let a turn of century take them by surprise.

How do Your software suppliers handle the situation? Do they have guts to charge extra for year2000 from you customers who have current maintenance contracts?

Finally, You have given some thought on the impact on Your system from the conversion to euro, have You not? Good! But what makes You think Your supplier who didn't foresee year 2000 have taken the trouble to safeguard You from the impact of the euro-conversion?

If You have any problems with these things or any other universe problem contact us.