Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Funktio date

Sivun loppuun

Cocu [15.11.2004 08:36:03]

#

Kuinka saisin funktion joka muuttaa "suomalaisittain" syötetyn päivämäärän(pp.kk.vvvv) muutettua mysql date muotoon (vvvv-pp-kk). Ja tietenkin kaikki tämä myös toisinpäin.
Kiitos!

mike patto [15.11.2004 08:50:06]

#

Onnistuu ainakin Oraclessa SQL:n funkkareilla. Jos finnish_date on merkkijono niin talletus vaikka näin

insert into date_tbl values (to_date(finnish_date, 'dd.mm.yyyy'));

ja luku
select to_char(db_date, 'dd.mm.yyyy')
into finnish_date from date_tbl;

Taulussa siis vain yksi sarake. Eiköhän vastaavat funktiot ole myös MySql:ssäkin.

kasetti [15.11.2004 13:51:15]

#

Tai ota mallia tuolta --> http://www.sivut.org/php/vinkit/paivamaarat_luettavaan_muotoon.php

leftover [16.11.2004 22:31:06]

#

tai vielä helpommin date-strtotime (PHP) tai MySQL:n STR_TO_DATE (DATE_FORMAT käänteisfunktio):

<?php
$aika = "22.2.2002";
$dt_aika = date("Y-m-d", strtotime($aika));
?>
INSERT INTO FOO SET aika = STR_TO_DATE('%d.%c.%Y', '22.2.2002')

Cocu [24.11.2004 09:42:37]

#

Missä on vika, kun yritän suorittaa tuota:

<?php
$aika = "22.2.2002";
$dt_aika = date("Y-m-d", strtotime($aika));
?>

Niin antaa varoituksen:
Warning: unexpected error in date() in ... line3

Olga [24.11.2004 10:10:47]

#

Itselläni ei tullut mitään virheilmoitusta, mutta eipä kyllä ollut lopputuloskaan oikea. Niin hassulta kun se tuntuukin, tuo aikamuoto ei liene oikein. Seuraavassa hieman noista oikeista muodoista: http://www.gnu.org/software/tar/manual/html_chapter/tar_7.html

Mutta onnistuuhan tuo ihan merkkijono- ja taulukkofunktioillakin:

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

Cocu [30.11.2004 15:50:01]

#

Olga kirjoitti:

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

Mikä mahtaa olla tuon "vastakkais"-toimenpide, eli millä saa muutettua date "suomalaiseksi".

Olga [30.11.2004 16:14:08]

#

Näin äkkiä hatusta heitettynä:

<?php
$aika = "2002-2-22";
$muutettu = implode(".", array_reverse(explode("-", $aika)));
?>

Sivun alkuun

Vastaus

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

Tietoa sivustosta