Diskussion:LIP 19100
Aus UUGRN
19107
Perl arbeitet intern also 4stellig, bietet aber einen vorsätzlich falschen (-1900) Wert für die Jahreszahl an, denn alle Welt will 2stellig arbeiten.
- Code
#! /usr/bin/perl ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); print $year."-".$mon."-".$mday."\n";
Ausgabe:
$ ./19100.pl 107-6-25
Diese Form der "Vereinfachung" führte in vielen Programmen zu Konstrukten wie
"19".$year
anstatt
1900+$year
... was wiederum oftmals zur Ausgabe von "19100" führte. Man darf sich mit gesundem Menschenverstand fragen, warum die Funktion eine semi-2stellige Jahreszahl zurückliefert, damit dann im Code außen herum die unterschlagenen 1900 Jahre wieder addiert werden können. Braindead!
--rabe 22:34, 25. Jul. 2007 (CEST)
Lesen bildet:
Note that the $year element is 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?
The proper way to get a complete 4-digit year is simply:
$year += 1900;
And to get the last two digits of the year (e.g., â01â in 2001) do:
$year = sprintf("%02d", $year % 100);
--ph3-der-loewe 23:26, 25. Jul. 2007 (CEST)