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.
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.