Miksi tämä koodi ei toimi? Nimenomaan nuo if -kohdat aiheuttavat ongelmia kun haluan lisätä nollan eteen jos kyseessä on yksinumeroinen luku.
($sek, $min, $tun, $pv, $kk, $vvvv, $loput) = localtime(time);
$Vuosi = 2000;
$vvvv = $vvvv - 100;
$Vuosi = $Vuosi+$vvvv;
$tun = $tun + 1;
$kk += 1;
if (Length($pv) == 1) {$pv = "0" . $pv;}
if (Length($kk) == 1) {$kk = "0" . $kk;}
if (Length($tun) == 1) {$tun = "0" . $tun;}
if (Length($min) == 1) {$min = "0" . $min;}
if (Length($sek) == 1) {$sek = "0" . $sek;}
$paivays = "$pv.$kk.$Vuosi $tun:$min:$sek";
print LOG "Vierailuaika: $paivays\n";Kokeile vaihtaa tarkistukseksi numeerinen tarkistus,
if ($pv <= 9) jne.
Tämä on ehkä parempi ratkaisu jonka sain Murean kuhan raimolta:
use POSIX;
$omaaika = time + 3600;
$paivays = strftime("%d.%m.%y %H:%M:%S", localtime($omaaika));
Eli tiedoksi vaan jos joku muu painii joskus saman ongelman kanssa.
Jos vuosi halutaan neljällä numerolla niin muutos koodiin:
%y -> %Y
Aihe on jo aika vanha, joten et voi enää vastata siihen.