Autor | Zpráva | ||
---|---|---|---|
Misha Profil * |
#1 · Zasláno: 2. 3. 2007, 14:02:38
V proměnné $datum mám datum ve formátu 2007-02-14 a potřebuji to převést na 14.2.2007. Poradí mi někdo prosím?
|
||
25k Profil * |
#2 · Zasláno: 2. 3. 2007, 14:04:29
echo preg_replace("~(d{4})-(d{2})-(d{2})~", "\3.\2.\1", $datum);
|
||
25k Profil * |
#3 · Zasláno: 2. 3. 2007, 14:09:57
ty lomitka musi byt dvojite v tom druhem vyrazu nejak se to tady neprevedlo...
|
||
ronnie Profil |
#4 · Zasláno: 2. 3. 2007, 14:14:20 · Upravil/a: ronnie
A nebo
|
||
Misha Profil * |
#5 · Zasláno: 2. 3. 2007, 14:32:27
25k: tohle mi neprovedlo žádnou změnu... datum se mi vypisuje stejně jako předtím. Ikdyž dám dvoje lomítka.
|
||
Misha Profil * |
#6 · Zasláno: 2. 3. 2007, 14:33:57
ronnie
A ten tvůj příkaz mi vyhazuje tuto chybu: Fatal error: Class 'DateTime' not found in |
||
koudi Profil |
#7 · Zasláno: 2. 3. 2007, 14:38:13
A ten tvůj příkaz mi vyhazuje tuto chybu:
V tom případě zřejmě nemáš PHP5. |
||
k Profil * |
#8 · Zasláno: 2. 3. 2007, 14:40:23
ronnie
:) taky dobrej zpusob Mozna by to chtelo pridat i tu metodu kterou volas. Misha bud je ronnie lama nebo si z tebe dela srandu. |
||
k Profil * |
#9 · Zasláno: 2. 3. 2007, 14:41:03
nebo viz koudi
|
||
Misha Profil * |
#10 · Zasláno: 2. 3. 2007, 14:43:16
Web je na serveru pipni.cz a ti mají Php 5.1.6
|
||
Pete Profil * |
#11 · Zasláno: 2. 3. 2007, 14:51:12
A co takhle ?
$p = explode('-' , $datum); $date_new = $p[2] . '.' . $p[1] . '.' . $p[0]; Anebo si to v date_new poskladas jak chces Pete |
||
ronnie Profil |
#12 · Zasláno: 2. 3. 2007, 14:52:42
Třída DateFormat je v PHP od v5.1, měla by fungovat standarně (vyzkoušeno).
|
||
Misha Profil * |
#13 · Zasláno: 2. 3. 2007, 14:54:06
Pete
Tohle pomohlo, děkuji... sice jsem to timhle zpusobem řešit nechtěl, ale když PHP asi nemá žádný příkaz na převod datumu na jiný formát, tak asi nic jiného nezbývá. |
||
Misha Profil * |
#14 · Zasláno: 2. 3. 2007, 14:55:04
ronnie
V tom případě nechápu proč mi to vyhazuje tu chybu. |
||
Misha Profil * |
#15 · Zasláno: 2. 3. 2007, 15:07:07
Pete
Ovšem, když je v promenné $datum i čas (2007-02-14 12:54:46) tak tohle použít nelze. |
||
k Profil * |
#16 · Zasláno: 2. 3. 2007, 15:43:32
Misha
jde o to ze v promenne $datum bys mela spis mit timestamp pokud pouzivas MySQL databazi tak to tahej takhle: select UNIX_TIMESTAMP(datum) as datum from ... a pak pomoci mktime() si to prevedes do jakehokoli formatu. |
||
25k Profil * |
#17 · Zasláno: 2. 3. 2007, 16:13:53
k > z DB to muze formatovat rovnou pres DATE_FORMAT ne? Od toho ta fce je ...
a ten preg_replace taky funguje, kdyby tohle forum neschovalo ono 1 zpetne lomitko ... |
||
k Profil * |
#18 · Zasláno: 2. 3. 2007, 16:17:55
25k
Jasne nerikam ze to nefunguje. |
||
25k Profil * |
#19 · Zasláno: 2. 3. 2007, 16:19:09
dyt v poho ... jsme oba Kcko :)
|
||
HonzaH2 Profil |
#20 · Zasláno: 2. 3. 2007, 17:25:51
Ovšem, když je v promenné $datum i čas (2007-02-14 12:54:46) tak tohle použít nelze.
Tak to udělej takhle, to bude fungovat ať tam je čas nebo neni: $newdatum = substr($datum,8,2) . "." . substr($datum,5,2) . "." . substr($datum,0,4); |
||
25k Profil * |
#21 · Zasláno: 2. 3. 2007, 19:15:49
misha> 25k: tohle mi neprovedlo žádnou změnu... datum se mi vypisuje stejně jako předtím. Ikdyž dám dvoje lomítka.
http://www.pesonline.info/test.php |
||
DJXjozin Profil * |
#22 · Zasláno: 2. 3. 2007, 22:07:51
Měl bych ještě jedno řešení:
<?php $datum="1-2-2007"; $m=Array("-"=>"."); $datum=Strtr($datum, $m); echo $datum; ?> Ikdyž by se to dalo napsat ještě hodně dalšíma způsobama tohle mě tak skočilo do hlavy |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0