Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: aikalaskuja PHP:lla

sattanen [19.05.2006 21:09:28]

#

Moro,

Olen vähä uusi näissä java/PHP/MySQL jutuissa.

Kun minulla on MySQL kannassa TIME_RECEIVED solussa arvo "2006-05-19 21:0:00" ja solun tyypi on timestamp. Miten järkevimmin lasken aikaeron johonkin toiseen soluun?

Onko tuo data stringi? Jos on niin sitten ensin pitää muuttaa sekunteiksi ja sitten laskea ero sekunteina ja toimittaa tulos ulos mktimella? Noinko?

Tahtoisin mahdollismman lyhyen konstin laskea kahden eri tietueen timestamppeja.

PHP ei ollut niin viksu että pistin vaan ajat eri muuttujiin ja suoritin operatsuuneja. Vastaus oli aina nolla. :-)

t:SOS

Olga [19.05.2006 21:22:49]

#

Onko mahdollista että teet tuon laskutoimituksen suoraan sql:llä? Sehän olisi kaikista helpoin ratkaisu. Mutta muussa tapauksessa apuun tulee esimerkiksi funktio strtotime.

sooda [19.05.2006 21:27:49]

#

Manuska kertoo, että timediff olis kiva.

manuska kirjoitti:

TIMEDIFF() returns the time between the start time expr and the end time expr2. expr and expr2 are time or date-and-time expressions, but both must be of the same type.

mysql> SELECT TIMEDIFF('2000:01:01 00:00:00',
    ->                 '2000:01:01 00:00:00.000001');
        -> '-00:00:00.000001'
mysql> SELECT TIMEDIFF('1997-12-31 23:59:59.000001',
    ->                 '1997-12-30 01:01:01.000002');
        -> '46:58:57.999999'

ajv [19.05.2006 21:31:42]

#

sooda kirjoitti:

Manuska kertoo, että timediff olis kiva.

Tämä on ilmeisesti jatkoa tähän ongelmaan, jolloin tuo TIMEDIFF() ei oikein toimi, sillä kun ei pysty vertaamaan ainakaan mitenkään järkevästi kahden peräkkäisen rivin aikoja.

UNIX_TIMESTAMP() tai sitten tuo Olgan mainitsema strtotime on varmaan helpoin ratkaisu.

Vastaus

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

Tietoa sivustosta