use strict; use POSIX qw(mktime tzset); print "Content-type: text/html\n\n"; my $anfang_in = '29.10.2011 08:30'; print "Anfang: '$anfang_in'
"; my ($dd, $dm, $dy, $th, $tm, $ts) = split(/[\.: ]/, $anfang_in); $dm = $dm - 1; $dy = $dy - 1900; $ts = 0; my $time = mktime($ts, $tm, $th, $dd, $dm, $dy); print "Time: '$time' ($ts/$tm/$th/$dd/$dm/$dy)
"; my ($isdst) = (localtime($time))[-1]; if ($isdst) { $time = $time - 2*60*60; } else { $time = $time -1*60*60; } # else ($ts, $tm, $th, $dd, $dm, $dy) = (localtime($time))[0..5]; $anfang = sprintf("%04d.%02d.%02d %02d:%02d:%02d", $dy + 1900, $dm + 1, $dd, $th, $tm, $ts); my ($std, $dst) = POSIX::tzname(); print "TZ: '$std/$dst'
";