| 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); // IksiksseHáč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: 13 let
|
|||
0