Autor | Zpráva | ||
---|---|---|---|
cernokneznik Profil * |
#1 · Zasláno: 8. 6. 2013, 15:20:37
Jak s PHP můžu změnit datetime z myslql, tedy"2013-06-06 16:32:00" na něco jako "6. Června v 16:32"? Potřebuji aby to bralo jakýkoliv čas
|
||
cernokneznik Profil * |
#2 · Zasláno: 8. 6. 2013, 17:29:08
Už jsem to vyřešil souborem funkcí :
<? function mesic($datum){ switch ($datum) { case 01: return "Ledna"; break; case 02: return "Února"; break; case 03: return "Března"; break; case 04: return "Dubna"; break; case 05: return "Května"; break; case 06: return "Června"; break; case 07: return "Července"; break; case 08: return "Srpna"; break; case 09: return "Září"; break; case 10: return "Října"; break; case 11: return "Listopadu"; break; case 12: return "Prosince"; break; default: return "Iksiksse"; break; }} function den($den){ if($den < 10){ return substr_replace($den, '', 0, 1);} else{ return $den;} } function datetimeconv($datetime){ $prom = explode (" ", $datetime); $datum = Explode ("-", $prom[0]); $cas = Explode (":", $prom[1]); return"". den($datum[2]) .". ". mesic($datum[1]) ." v $cas[0]:$cas[1]"; } ?> pak jen vložím datetimeconv(2013-06-06 16:32:00) a mám to :D yay! jsem borec. |
||
jenikkozak Profil |
Místo switche by bylo přehlednější použít pole.
$mesice = array(1 => "ledna", "února", "března"...); explode .
V češtině se na rozdíl od angličtiny názvy měsíců píší s malým písmenem na začátku. |
||
Joker Profil |
#4 · Zasláno: 8. 6. 2013, 20:52:48
cernokneznik [#2]:
Uvedený kód nebude fungovat správně. Očekával bych toto chování: echo mesic(08); // Srpna (to je správně) echo mesic(09); // Srpna echo mesic("08"); // Iksiksse echo mesic("09"); // Iksiksse echo mesic(""); // Srpna echo mesic(8); // Iksiksse echo mesic(9); // Iksiksse Háček je v tom, že číslo uvozené nulou znamená zápis v osmičkové soustavě. Číslice 8 a 9 v osmičkové soustavě nejsou platné a obsahuje-li je číslo, načte se jen část před první neplatnou číslicí. Tedy 08 = 09 = 0. Fungovat budou čísla bez nuly na začátku, částečně by fungovaly i řetězce ("01", "02" atd.), ale pak by nefungovalo třeba mesic(1). |
||
Časová prodleva: 11 let
|
0