This is an archived page and is no longer updated.
Please visit our current pages at https://rvs-bi.de

Das Jahr-2000-Problem (Y2K, Millennium-Bug)

Heiko Holtkamp
26. Oktober 1998

Diese Seiten sind im Zusammenhang mit dem Seminar "Das Y2K-Problem" entstanden. Ziel des Seminars - und dieser Seiten - ist es, das Jahr 2000-Problem zu verstehen und einzuschätzen. Darauf aufbauend sollen Maßnahmen und Methoden diskutiert werden, die zur "Lösung" (es wird nicht die Lösung geben) des Jahr 2000-Problems beitragen können.

Zunächst sollen diese Seiten aber mehr als eine Sammlung von Informationen zum Jahr 2000-Problemen verstanden sein!
Zudem ist diese Sammlung momentan noch äußerst unstrukturiert.


Was ist das Jahr 2000-Problem?

Das Jahr 2000-Problem ist ein Problem der Repräsentation einer Jahreszahl mit nur zwei Stellen. Datumsangaben werden ohne die Angabe des Jahrhunderts gespeichert: 27.04.98 statt 27.04.1998. Ist dann der 01.01.00 der 1. Januar des Jahres 1900 oder des Jahres 2000?
[Genauere Problembeschreibung]

Aber: Das Jahr 2000-Problem ist nicht nur ein Jahr 2000-Problem.

Viele Probleme werden auch schon früher auftreten (z.B., da einige Programme (insbesondere Datenbanken) das Datum 9.9.99 (oder ähnliche Konstrukte z.B. 1.1.11, 99.99.99, 00.00.00) als Löschmarke verwenden.

Viele UNIX-Systeme werden im Jahr 2038 ein Problem haben. Warum? Am 19. Januar 2038 wird die interne Datenrepräsentation überlaufen. UNIX speichert Daten über die Anzahl Sekunden, die seit dem 1.1.1970 0:00:00 Coordinated Universal Time (Greenwich Mean Time) vergangen sind. Gespeichert werden die Sekunden in einer 32-Bit Integer Variablen, die am 19.01.2038 überlaufen wird. Dieses Problem betrifft ebenso viele C und C++-Programme, da diese die gleiche Daten-Repräsentation verwenden.

Im Februar 2000 werden viele Programme nicht erkennen, daß das Jahr 2000 ein Schaltjahr ist. D.h. es gibt keinen 29. Februar im Jahr 2000. Die Regeln für ein Schaltjahr sind in diesen Programmen falsch implementiert.

Ein Jahr ist ein Schaltjahr, wenn
  • das Jahr durch 4 teilbar ist,
  • das Jahr nicht durch 100 dividiert werden kann,
  • aber: wenn das Jahr durch 400 teilbar ist, ist es ein Schaltjahr.
(siehe hierzu u.a. Claus Tondering: Frequently asked questions about Calendars.)

Programme in denen "kurzsichtige Bugfixes" (z.b. Windowing, d.h. das Arbeiten in einem Zeitfenster) für zweistellige Datenprobleme implementiert sind, werden früher oder später Datenprobleme bekommen.

Kurz gefaßt sind die Probleme also:

Der letzte in der kurzen Auflistung genannte Punkt, das Fehlen eines einheitlichen Standards für die Repräsentation von Daten ist nicht unbedingt ein Jahr 2000-Problem. Dennoch würde die Schaffung eines einheitlichen Standards viele Probleme im Zusammenhang mit dem Jahr 2000-Problem lösen.
Genau genommen existiert solch ein Standard sogar. Die internationale Norm ISO 8601 von 1988 legt die Schreibweise "YYYY-MM-DD" für ein Datum fest. Diese Norm ist in Europa durch die Norm EN 28601 und in Deutschland durch die Norm DIN 5008 übernommen worden.

Was ist das Problem mit dem Jahr 2000-Problem?

Viele haben das Jahr 2000-Problem zu spät oder noch gar nicht realisiert!

Bereits im September 1993 weist Peter de Jaeger in dem Artikel "Doomsday 2000" daraufhin, das die Zeit abläuft, das Jahr 2000-Problem zu lösen:

"Have you ever been in a car accident? Time seems to slow down as you realize you're going to crash into the car ahead you.

It's too late to avoid it - you're going to crash. All you can do is watch it happen.

The information systems community is heading toward an event more devasting than a car crash. We are heading toward the year 2000. We are heading toward a failure of our standard date format: MM/DD/YY.

Unfortunately, unlike the car crash, time will not slow down for us. If anything, we're accelerating toward disaster.

There is a good news/bad news story. First the bad news: There is very little good news. There is no way to avaoid the fact that our information systems are based on a faulty standard that will cost the worldwide computer community billions of dollars in programming effort.

Perhaps more importantly, we are going to suffer a credibility crisis. We and our computers were supposed to make life easier; this was our promise. What we have delivered is a catastrophe.

The problem is twofold: the date issue itself and, more importantly, our reluctance to address the problem."

- Peter de Jaeger: Doomsday 2000
(http:www.year2000.com)