Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: mktime ja timestamp

trinit [31.01.2003 20:13:48]

#

Olen yrittänyt tehdä skriptiä, joka laskee henkilön iän vuosina kun henkilön syntymäpäivä, -kuukausi ja -vuosi tiedetään. Luultavasti siihen tarvitaan mktime() funktiota, mutta en nyt millään onnistu sillä luomaan oikeanlaista aikaleimaa (timestamp) syntämäpäivälle. Eli tarkoitus olisi tehdä samanlainen iän näyttö kuin täällä Ohjelmointiputkassakin profiileissa.

Tämmöisellä virityksellä olen sitä yrittänyt tehdä:

<?php
    $data[0] = "30031981";   // ppkkvvvv
    $ika = mktime(0, 0, 0, trim(substr($data[0], 2, 2)),  trim(substr($data[0], 0, 2)), trim(substr($data[0], 4, 4)));
    echo "Olet " . date("y", $ika) . " vuotta vanha";
?>

Meneekö tuo koodi edes yhtään oikeaan suuntaan?

edit: mktime:n parametrit kuukaudelle ja päivälle oli väärin päin aluksi...

Antti Laaksonen [31.01.2003 20:33:23]

#

Itse olen käyttänyt esim profiilitoiminnossa seuraavanlaista skriptiä, jossa ikä lasketaan nykyhetken ja syntymäpäivän erotuksena omaa teeika-funktiota apunakäyttäen.

<?php
function teeika($v,$k,$p) {
  return intval(($v+($k*30+$p)/365)*1000);
}

$syn=teeika(1981,3,30); //syntymäaika: vuosi, kuukausi, päivä
$nyt=teeika(date("Y"),date("m"),date("d")); //nykyhetki
$ika=($nyt-$syn)/1000; //ikä vuosina

echo $ika;
?>`

trinit [31.01.2003 21:09:58]

#

Kiitoksia, tuolla funktiolla se onnistuukin hyvin. Taisin yrittää hieman liian vaikeasti (taas) toteuttaa iän laskua.

Mutta jos joku tietää miten tuolla mktime:lla saisi laskettua iän niin kertokoon :) Olisi ihan mukava tietää onnistuuko.

Vastaus

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

Tietoa sivustosta