Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Päivämäämä muotoon pp.kk.vvvv hh:mm:ss (Perl)

tupuutt [08.06.2006 09:01:36]

#

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";

Metabolix [08.06.2006 10:02:54]

#

Kokeile vaihtaa tarkistukseksi numeerinen tarkistus,
if ($pv <= 9) jne.

tupuutt [08.06.2006 10:13:10]

#

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.

tupuutt [08.06.2006 12:55:44]

#

Jos vuosi halutaan neljällä numerolla niin muutos koodiin:
%y -> %Y

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta