Portál AbcLinuxu, 10. května 2025 08:55

Dotaz: PHP + MySQL a datumovy format

1.7.2006 12:33 Jano Petrik
PHP + MySQL a datumovy format
Přečteno: 223×
Odpovědět | Admin
Dobry den prajem.

V mysql databaze mam v tabulke okrem ineho ulozene aj datumy kde je typ zaznamu samozrejme nastaveny na date:

CREATE TABLE Datum ( DatumZalozenia date NOT NULL )

Pochopitelne, ze datumy su v tejto tabulke ulozene v (tusim) anglickom formate, napriklad: 2006-01-25. Cize ak dam:

$Selecting=mysql_query("select * from Datum",$Database);
while($Reading=mysql_fetch_array($Selecting))
{ echo $Reading[DatumZalozenia]; }

Tak echo mi vypise datum prave v tom anglickom formate pricom ale ja by som potreboval aby to vypisalo nas klasicky format, napriklad: 25.01.2006.

Preto sa pytam - existuje nejake nastavenie PHP respektive MySQL ktore sa len zada na uplnom zaciatku skriptu a ktore sa bude starat o to, ze ked potrebujem vypisat datum ktory je ulozeny v anglickom formate tak na obrazovke uvidim slovensky format a ked do input boxu zadam datum v slovenskom formate, tak aj tak mi ho do databazy ulozi vo formate anglickom? Alebo budem musiet pred kazdu funkciu ktora naraba s datumom davat jej prevodnik (anglicky -> slovensky a naopak)

Velmi pekne vam dakujem za vsetky odpovede.

P.S.: Neviem - ale ked som dobre pochopil tak ASI na take nieco by sa mohla pouzit funkcia: setlocale(LC_ALL,'sk_SK.utf8'); ale bohuzial som absolutne nepochopil, ze ako dalej.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.7.2006 13:07 Christof | skóre: 22 | Havířov
Rozbalit Rozbalit vše Re: PHP + MySQL a datumovy format
Odpovědět | | Sbalit | Link | Blokovat | Admin
ano, musíš si to datum na vstupu/výstupu upravit, PHP i MySQL na to mají funkce
1.7.2006 13:12 Jano Petrik
Rozbalit Rozbalit vše Re: PHP + MySQL a datumovy format
Hmmmmm - blbe. Mimochodom - ake su to funkcie? Mozno blbo hladam, ale nakoniec som si tie funkcie musel napisat sam. A rad by som tie systemove.
svido avatar 1.7.2006 14:04 svido | skóre: 28
Rozbalit Rozbalit vše Re: PHP + MySQL a datumovy format
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mnohem lepší je si požadovaný tvar vracet rovnou přes SQL (když to jde). Já setlocale() nepoužívám, nefungoval mi všude. Takže:
SELECT DATE_FORMAT(DatumZalozenia, '%d. %m. %Y') AS sk_datum FROM datum;
Vrátí to datum ve tvaru: 01. 07. 2006
1.7.2006 14:18 Jano Petrik
Rozbalit Rozbalit vše Re: PHP + MySQL a datumovy format
supeeeeeer - a ako do tabulky ten datum vlozit?

V premennej test mam napriklad: $Test="21.05.2006"
nieco v zmysle
$Inserting=mysql_query("insert into DatumZalozenia values('$Test')",$Database);
svido avatar 1.7.2006 14:53 svido | skóre: 28
Rozbalit Rozbalit vše Re: PHP + MySQL a datumovy format
V DB je uložen v normálním formátu (anglickém) takže to musíš převést na tento tvar: YYYY-MM-DD nebo YYYYMMDD. Je jedno jak, třeba pomocí:
$test = preg_replace('/([[:digit:]]{2})\.([[:digit:]]{2})\.([[:digit:]]{4})/', '\\3\\2\\1', $test);
Vstupní datum musí být ve tvaru: DD.MM.YYYY
mess avatar 1.7.2006 18:20 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: PHP + MySQL a datumovy format
já to řeším takhle
$datum = date("Y-m-d", strtotime("datum"));
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.