Autor | Zpráva | ||
---|---|---|---|
Stepanka Profil * |
#1 · Zasláno: 2. 10. 2008, 09:28:49
Ahoj,
prosím, jak se dá přepsat formát datumu? Mám dejme tomu: $do = '15.10.2008'; A teď bych z tady této proměnné potřebovala získat 2008-10-15. Zkouším to třeba takhle $do2 = date ("y-M-d", $do); Pomůžete mi někdo? Děkuju. |
||
ninja Profil |
#2 · Zasláno: 2. 10. 2008, 09:38:09
datum v $do musis nejdrive preves na timestamp. Koukni na funkci strtotime().
|
||
Stepanka Profil * |
#3 · Zasláno: 2. 10. 2008, 09:47:21
ninja
to už jsem taky zkoušela, ale nepovedlo se mi to.. Mám třeba echo $do.'<br />'; $do = strtotime($do); echo $do.'<br />'; $do2 = date ('Y-m-d', $do); echo $do2.'<br />'; a výstupem je: 8.10.2008 -1 1970-01-01 |
||
BetaCam Profil |
#4 · Zasláno: 2. 10. 2008, 10:12:34
Nevim jak u tebe, ale u mě má script :
$do = '15.10.2008'; echo $do.'<br />'; $do = strtotime($do); echo $do.'<br />'; $do2 = date ('Y-m-d', $do); echo $do2.'<br />'; výstup : 15.10.2008 1224021600 2008-10-15 |
||
ninja Profil |
#5 · Zasláno: 2. 10. 2008, 10:18:27
Stepanka: strototime vetsinou funguje, i kdyz cesky zpusob psani datumu mu neni uplne koser. Jestli chces, zkus pouzit toto:
/** * int parsedate (string [, bool force_nonull ]) * * Purpose: Convert text date ('21. 5. 2008', '21.05.2008', atd) to unix timestamp (time ste to noon - middle of day!) * * If 2. param is TRUE and function should return null, return now() instead. * * @param string, string * @return int (unix timestmap) */ function parsedate ($data, $force = false) { if (ereg ('([0-9]{1,2})\. ?([0-9]{1,2})\. ?([1-9][0-9]{3})', $data, $datum)) $output = mktime (12,0,0, $datum[2], $datum[1], $datum[3]); elseif ($force) $output = mktime (12,0,0); else $output = null; return ($output); } |
||
Stepanka Profil * |
#6 · Zasláno: 2. 10. 2008, 10:22:11
BetaCam
To je zvláštní, nemůže to být třeba tím, že tady mám PHP 4? |
||
Stepanka Profil * |
#7 · Zasláno: 2. 10. 2008, 10:23:34
ninja
Děkuju za tu funkci, moc mi pomohla :-) Už mi to funguje tak jak jsem chtěla.. |
||
ninja Profil |
#8 · Zasláno: 2. 10. 2008, 11:44:29
Stepanka: jsem rad. Jen si dej pozor ze to vraci ten den v poledne a ne o pulnoci. Odpadaji pak nektere problemy u zmeny letniho/zimniho casu.
|
||
P_T_ Profil |
#9 · Zasláno: 2. 10. 2008, 13:36:04
vsprintf('%3$d-%2$02d-%1$02d', explode('.', $do)); |
||
Jack Finger Profil |
#10 · Zasláno: 2. 10. 2008, 13:42:26
Stepanka
je možný, že to bylo tím, že jsi nezadala datum 08.10.2008, ale 8.10.2008. |
||
Časová prodleva: 16 let
|
0