Miten saan käännettyä php:llä päivämäärän esim. 26.3.2007 muotoon 2007-3-26.
Eli tässä on tarkoitus että käyttäjä syöttää tekstikenttään päivämäärän muodossa 26.3.2007 ja kantaan se tallentuu tietenkin SQL muotoon. Samoiten myös toisin päin eli tulostaessa php kääntäis päivämäärän 2007-3-26 muotoon 26.3.2007.
Mulla on ollut jossain vaiheessa toimiva skripti tähän juttuun mut oon poistanut kyseisen tiedoston jossa toi oli, nyt oon sormi suussa kun en muista miten se meni :)
Päivämääriä voi muutella vaikka seuraavalla koodilla:
<?php
// muuta ja käännä
function mjk($pvm, $alku, $loppu) {
$tiedot = explode($alku, $pvm);
$tiedot = array_reverse($tiedot);
return implode($tiedot, $loppu);
}
$pvm = "26.3.2007";
echo mjk($pvm, ".", "-");
$pvm = "2007-3-26";
echo mjk($pvm, "-", ".");
?>Tämän lisäksi täytyy tosin tarkistaa, että käyttäjä antaa kunnollisen päivämäärän. Päivämäärän muutoksen voi ehkä sälyttää myös tietokannan tehtäväksi, jos ei halua tehdä sitä PHP:llä.
Kiitti! Löysin myös aikaisemmin käyttämäni koodin...
SQL-kantoihin kyllä saa päiväyksen vaikka missä muodossa... Mysql:ssä se onnistuu vaikka str_to_date funktiolla. Vastaavasti haettaessa date_format funktiolla sen saa haluamassaan muodossa ulos... Ja eikös tuota SQL:n vakiomuotoakin saa vaihdettua jollain (yksinkertaisesti localella?)?
Aihe on jo aika vanha, joten et voi enää vastata siihen.