MudGuard: Die Zeitverschiebung oder Die geheimen Tage

Beitrag lesen

Hi,

my $time = "2006-06-30 23:30:00";
$time =~ /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/;
           my $time_in_sec = timegm($6,$5,$4,$3,$2,$1);

Du wirfst timegm den Juli vor, nicht den Juni. Der Monat geht von 0 bis 11, nicht von 1 bis 12 (vermutlich da der Monat häufig als Index auf ein Array mit Monatsnamen verwendet wird).

($sec,$min,$hour,$mday,$mon,$year,$wday,$ydat,$isdst) = gmtime($new_time_in_sec);

Hier kommt auch wieder der Juli, also 6, zurück.

my $newDate = (($year+1900)."-".CD($mon)."-".CD($mday)." ".CD($hour).":".CD($min).":".CD($sec));

Du machst hier die Anpassung wieder nicht.

Der Fehler liegt also nicht in gmtime/timegm, sondern in Deiner fehlerhaften Benutzung derselben.
cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.