Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ajan kanssa leikkiminen

Triskal [06.12.2004 00:24:15]

#

Eli minulla on tietokannassa päivämääriä, jotka ovat muodossa esim 2004-12-31 ja nyt olisi mukava tietää kuinka ne saisi tulostumaan muodossa 31.12.2004. Päivämäärä haetaan tietokannasta muuttujaan. Onko muuttujan muotoa siis mahdollista muuttaa, vai pitääkö homma tehdä jotenkin erilailla?

Metabolix [06.12.2004 00:44:28]

#

No vaikka poimimalla substr-funktiolla eri tiedot? Jos nuo ovat aina saman pituisia (esim. 2004-01-01 eikä 2004-1-1), homma toimisi näin:

<?php
$pvm = "2004-12-31";

$vuosi = substr($pvm, 0, 4);
$kuu = substr($pvm, 5, 2);
$paiva = substr($pvm, 8, 2);

echo $paiva.'.'.$kuu.'.'.$vuosi; // 31.12.2004
?>

ajv [06.12.2004 00:56:52]

#

No tuo kylla kannattaa hoitaa siellä kannan puolella tuo muotoilu. Oletan, että käytössä on MySQL tai vastaava:

SELECT DATE_FORMAT( aika, '%d.%m.%Y.' ) AS pvm FROM plaa plaa plaa

Edit: http://dev.mysql.com/doc/mysql/en/Date_and_time_functions.html#IDX1384

tsuriga [06.12.2004 01:11:43]

#

<?php
$pvm = implode(".",array_reverse(explode("-",$pvm)));
?>

Olga [06.12.2004 01:32:07]

#

Tuossapa vähän samanmoinen aihe: https://www.ohjelmointiputka.net/keskustelu/6991-funktio-date

ajv [06.12.2004 11:25:18]

#

tsuriga kirjoitti:

<?php
$pvm = implode(".",array_reverse(explode("-",$pvm)));
?>

Miksi käyttää tälläistä purkkaa? Ei kai sitä päivämäärää ihan sattumalta ole sinne tallennettu standardi-muotoon. Kanta tosiaan hoitaa tuon muotoilun puolestasi, tai jos välttämättä haluat sen php:llä toteuttaa, niin otat sen ajan ulos unix-aikaleimana ( UNIX_TIMESTAMP(aika) ) ja sitten muotoilet date()-funktiolla

Vastaus

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

Tietoa sivustosta