Re: Und schon schlägt Y2K zu

"Marco Dieckhoff" <linux@jwr.de> wrote:
Ich habe einen ähnlichen "Fehler" entdeckt, allerdings unter Perl.
Perl wertet die Jahreszahl (localtime(time)) als Jahr - 1900 aus, nicht als zweistellige Zahl!
Das entspricht dem Verhalten der C-Funktion localtime(), wer auch immer sich das ausgedacht hat.
2000 ist folglich = *100* + 1900.
Ich denke, hier tritt derselbe Fehler auf, eine Lösung weiss ich jedoch nicht.
Aus `man perlfunc' im Abschnitt ueber localtime: Also, $year is the number of years since 1900, that is, $year is 123 in year 2023, and not simply the last two digits of the year. If you assume it is, then you create non-Y2K-compliant programs--and you wouldn't want to do that, would you? (Fassung vom 28.03.1999, eine aeltere Fassung, die ich hier habe enthaelt nur den ersten Satz, aber der reicht auch schon.) In anderen Worten: Mit Perl ist alles in Ordnung. Der Fehler steckt in jedem einzelnen Programm, das annimmt, hier eine zweistellige Jahreszahl zu bekommen. Loesung: Jedes dieser Programme muss korrigiert werden. Entsprechendes gilt natuerlich auch fuer alle Programme, die dieses Problem bei Benutzung der C-Funktion localtime() haben. Eilert -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik eilert@informatik.uni-bremen.de - eilert@tzi.org - eilert@linuxfreak.com http://www.informatik.uni-bremen.de/~eilert/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (1)
-
eilert@informatik.uni-bremen.de