Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'aimerais juste récupérer la date et l'heure en fonction des pays. Ca marche dans la plupart des cas (fr, en_US, jp, ...)
Le probleme se pose pour les codes pays qui n'ont pas de locale associé.
Exemple : la guadeloupe : gp ...
Voici ma facon de proceder :
$date = new Zend_Date(); echo $date->getTime(new Zend_Locale('fr_FR')); echo $date->getTime(new Zend_Locale('en_US'));
Hors ligne
Hum, a priori t'as tout faux... la locale c'est pour la langue utilisée et le pays dans lequel on est. Ca n'indique rien sur les fuseaux horaires (tu as plusieurs fuseaux horaires aux états unis, en_US, ça ne peut pas suffire par exemple).
Pour ça il faut utiliser les timezone, pas les locales :
date_default_timezone_set('Europe/Paris'); $now = new Zend_Date(); echo "now default= ".$now."<br/>"; $now->setTimezone("America/Chicago"); echo "now America/Chicago= ".$now."<br/>"; $now->setTimezone("America/Guadeloupe"); echo "now America/Guadeloupe= ".$now."<br/>";
A+, Philippe
Hors ligne
Oui, j'avoue...
Mais pourquoi Zend_Date utilise les locales alors ? Dans mon esprit une locale c'etait toutes les differences locales. Langue, lieu, monnaie, unités/formats de mesures... Donc je me disais... date/heure ca me semble pas stupide..
Mais en effet, ca pas l'air d'etre géré comme ca. Bref, dans ce cas, je suppose que ZF ne peut pas m'aider, et il faudra que j'associe Pays-Ville a un timezone... :s
Ou alors un calcul avec latitude et longitude devrait pouvoir faire l'affaire...
Merci en tout cas
Dernière modification par nuranto (15-09-2009 14:33:24)
Hors ligne
Hello,
La locale sert entre autres à générer les formats de date différents par pays.
A+
Hors ligne
@nurato:
Les timezone du genre "Europe/Paris" c'est un truc normalisé, on n'invente pas la timezone qu'on veut :
http://www.php.net/manual/en/timezones.php
Par contre un calcul basé sur les latitudes ne marche pas (la France aurait plusieurs fuseaux horaires).
regarde du coté de DateTimeZone pour avoir des fonctions de manipulation des timezone http://www.php.net/manual/en/class.datetimezone.php.
A+, Philippe
Hors ligne
Pages: 1