Michael Schröpl: "2000" statt "19100" - die $year unter PERL anpassen

Beitrag lesen

anschließend sucht mal nach Strings wie:
  $long_date = " $mday. $months[$mon] 19$year";
oder
   $date = "$days[$wday], $mday. $months[$mon] 19$year um $hour:$min:$sec";
dann braucht Ihr nur noch die 19 durch die 20 ersetzen und habt eine besser Ausgabe der Jahreszahl.

Tja, solche Ersetzungen sind halt leider nicht das Allheilmittel.
("$jahr += 1900;" in Perl direkt nach $localtime() und nirgendwo mehr String-Concat mit Datumswerten ist eines. ;-)

Ich hatte gerade so ein Spasseken in Oracle: SQL*Forms-Masken mit Eingabeformat "DD-MON-YY" (das ist das Default-Format von Oracle7, wenn man selbst keines angibt).
Gibt man "01-JAN-00" in ein solches Feld ein, dann ergänzt der Forms-Interpreter brav auf "2000" - soweit, so gut, das hatten wir auch getestet.
Aber editiert man bereits vorhandene Datensätze aus dem Jahre 1999, dann interpretiert SQL*Forms das von ihm *selbst* zweistellig ausgegebene Datum als Quasi-Eingabe wieder neu neu und rät dabei (diesmal falsch) eine "20" davor - und schon sind wir in 2099. :-(((
Weil das Datum zum Primärschlüssel gehörte, wurden die alten Datensätze zudem nicht überschrieben, sondern neue eingefügt.
Ich habe dann halt explizite Formatdefinitionen "DDMMYYYY" in die Masken (letzte Änderung des Quelltextes: August 1995) eingebaut ...