![]() |
|
|
Das Problem mit dem Jahrtausendwechsel liegt noch nicht hinter uns, und da soll es ein Jahr 2038 Problem geben? Nun, in gewisser Weise schon.
C verarbeitet Datum und Uhrzeit in der Form 'Sekunden seit 1.1.1970 0:00:00'. Als Datentyp wird time_t benutzt - üblicherweise ein typedef für long. Das bedeutet, daß im Januar 2038 dieser Datentyp überlaufen wird - es werden dann halt recht viele Sekunden seit dem 1.1.1970 vergangen sein.
Was wird dann passieren? Schwer zu sagen. In 10 - 20 Jahren werden wir vielleicht 64 Bit große ints und 256 Bit große longs haben - und der Rechner wird eine Verdickung im Verbindungskabel zwischen Tastatur und Bildschirm sein. Vermutlich werden die Compiler-Hersteller irgendwann ein anderes typedef für time_t einsetzen und die davon betroffenen Routinen der Standard Library umschreiben.
Konsequenz: Vergessen Sie, was Sie eben über den Zusammenhang zwischen time_t und long gelesen haben. Benutzen Sie immer und ausschließlich time_t, wenn Sie mit Datum und Uhrzeit zu tun haben. Erhält time_t dann irgendwann in der Zukunft einen neuen Typ, dann genügt es, Ihre Programme neu zu kompilieren, und die Verwaltung von Datum und Uhrzeit ist innerhalb Ihres Programms wieder in Ordnung.
Das wird nicht alle Probleme lösen. Sind time_t-Variablen Teile von Datenstrukturen, die in Dateien gespeichert oder zu anderen Rechnern übertragen werden, dann sind u.U. eine ganze Reihe weiterer Anpassungsarbeiten notwendig - so wie heute, 1999.
Aber zumindest hat der arme Kerl, der sich dann mit Ihren Programmen
herumschlagen muß, eine Chance: Wenn er nach time_t sucht, findet er alle
Stellen, die für eine Überprüfung in Frage kommen - und das ist doch schon etwas.
Stellen Sie sich bloß einmal vor, er müßte nicht nur nach time_t suchen,
sondern auch noch nach allen Variablen vom Typ ... was für ein Datentyp war das doch
gleich?
Die folgenden Themen können für Sie in diesem Zusammenhang ebenfalls von Interesse sein:
Bitte beachten Sie auch die Nutzungsbedingungen.
Hat dieser Beitrag Ihnen gefallen? Dann bitte ich Sie um einen kurzen Kommentar. Wenn Sie hier klicken, brauchen Sie nur noch Ihre Meinung einzutragen.
Sie können sich auch benachrichtigen lassen, wenn es hier etwas Neues gibt: Wählen Sie die Themen aus, die Sie interessieren und geben Sie an, wie oft - oder wie selten - Sie informiert werden wollen.
Copyright © Helmut Giese, email: hgiese@ratiosoft.com
Parkstr. 41, 34119 Kassel, Tel.: 0561 - 766 59 50, Fax: 0561 - 766 59 51
Königstor 59, 34119 Kassel, Tel.: 0561 - 739 35 30, Fax: 0561 - 739 35 31
Web Design von Bianca Engler: email
internet