Formát datumu podle jazyka
- Jiří Nápravník
- Člen | 710
Řešil jste někdo formát datumu podle jazyka? Samozřejmě je tu strftime, nicméně to řeší v podstatě jen překlad a už ne samotný formát. Zkrátka pro cz je formát: den. měsíc rok, v Aj zase Měsíc den, rok apod.
- David Kudera
- Člen | 455
No pokud jde o šablony, tak bych si na to asi udělal nějaký šikovný makro. A pokud to je i na jiných místech, tak bych asi udělal nějakou mini-službičku, kterou by i to makro samotné využívalo. Vlastně.. Asi bych to tak osobně udělal tak jako tak
Editoval David Kudera (26. 8. 2014 23:46)
- Jiří Nápravník
- Člen | 710
@voda díky za reakci, o %x a %X jsem nevěděl, ale bohužel v případě datumu, už to nedoplňuje tečky, či lomítka jak by mělo…
- voda
- Člen | 561
v případě datumu, už to nedoplňuje tečky, či lomítka jak by mělo…
Co tím máš na mysli? Mě to funguje správně:
php > setlocale(LC_ALL, 'en_US.utf8');
php > var_dump(strftime("%x", time()));
string(10) "08/27/2014"
php > setlocale(LC_ALL, 'cs_CZ.utf8');
php > var_dump(strftime("%x", time()));
string(9) "27.8.2014"
- Jiří Nápravník
- Člen | 710
Jej sorry, jsem za blba, zapomněl jsem, že Nette 2.2 je třeba invalidovat šablony na serveru ručně. Já si říkal, proč to jde jen na lokale:-)
Nicmene nejde už nějak nastavit asi, že chci raději textovou reprezentaci. Prostě místo 08/27/2014 raději August 27, 2014
- xificurk
- Člen | 121
K locale ještě jedno varování – nikdy, ale opravdu NIKDY neměňte nastavení LC_ALL nebo LC_NUMBER. PHP má takovou genitální vlastnost, že algoritmus převodu float na string záleží právě na nastavení LC_NUMBER (u opačného převodu to už neplatí) a tomu se opravdu chcete vyhnout ;-)
- evzen.eiba
- Člen | 1
Tohle by asi mohla byt cesta k dlouhym datumum (s celym nazvem mesice): http://php.net/…ormatter.php