Formát datumu podle jazyka

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Jiří Nápravník
Člen | 710
+
0
-

Ř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
+
+1
-

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)

voda
Člen | 561
+
0
-

strftime je možné použit formáty %X a %x, které zohledňují nastavené locale.

Jiří Nápravník
Člen | 710
+
0
-

@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
+
0
-

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"
akadlec
Člen | 1326
+
0
-

Delší datumy by to asi stejnak chtělo řešit nějakým makrem co?

Jiří Nápravník
Člen | 710
+
0
-

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
+
0
-

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
+
0
-

Tohle by asi mohla byt cesta k dlouhym datumum (s celym nazvem mesice): http://php.net/…ormatter.php

Jiří Nápravník
Člen | 710
+
0
-

wow, díky o tom jsem ani nevěděl.