Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je ne comprend pas un truc qui devrait pourtant être simple.
J'ai un plugin qui initialise la langue à utiliser.
Je définis donc dans ce plugin une locale, puis suite à ça je crée un objet date que je stocke dans le registre :
... ... $z_locale = new Zend_Locale($locale); ... ... $translate->setLocale($z_locale); Tight_Registry::set('Tight_Locale', $z_locale); ... ... Zend_Loader::loadclass('Zend_Date'); $z_date = new Zend_Date(); $z_date->setLocale($z_locale); Tight_Registry::set('Tight_Date', $z_date); ... ...
Plus tard, je souhaite recevoir en automatique la date au bon format en fonction de la langue, je fais donc simplement par ex.:
$une_date = '2009-07-01'; $t_date = Tight_Registry::get('Tight_Date'); $t_date->set($une_date, 'yyyy-MM-dd'); $str_date = $t_date->get();
Sauf que je récupère visiblement un timestamp au lieu d'une date au format correspondant à ma locale.
J'ai lu la doc à ce sujet, et je ne trouve pas vraiment de réponse.
Une idée ? Peut-être que je n'utilise pas tout ça comme il faudrait.
Merci,
A+ benjamin.
Dernière modification par Delprog (14-01-2009 15:16:33)
Hors ligne
Au temps pour moi.
En affichant sur la sortie :
Zend_Locale_Format::getDateFormat(Tight_Registry::get('Tight_Locale'));
Je me rend compte que le format correspond bien à ma locale, par exemple en fr_FR :
d MMM yyyy
J'ai fait le tour des constantes Zend_Date::DATE* dans la méthode get(), mais je n'arrive pas à avoir mieux que : jj/mm/aa, alors que pour le fr_FR je voudrais jj/mm/aaaa.
Je vais donc me démerder pour rendre paramétrable le format de date pour chaque locale dans mon fichier ini de paramètres.
A+ benjamin.
Dernière modification par Delprog (14-01-2009 15:10:51)
Hors ligne
Hello,
Tu peux toujours aller dans /library/Zend/Locale/Data/fr.xml, tu cherches 'gregorian' et format de date de type 'short' ce qui doit correspondre à dd/MM/yy et tu le modifies en dd/MM/yyyy. Ce n'est bien sûr pas recommandé car à chaque changement de version du ZF, tu devras refaire la manip.
Le ZF utilise le CLDR (http://unicode.org/cldr/), 'dd/MM/yy' est donc le format standard reconnu.
A+
Hors ligne
Ouais bof
Et dériver tout le bordel juste pour ça....il faut avoir envie.
Pour l'instant ce sera l'année sur 2 chiffres jusqu'à ce qu'un client m'en fasse un procès :p
Dernière modification par Delprog (16-01-2009 15:46:03)
Hors ligne
Pages: 1