Obtenez format de date selon les paramètres régionaux en PHP
Il est très simple problème. J'ai un identificateur de paramètres régionaux, en, fr, cs_CZ ou quoi que ce soit. J'ai juste besoin pour obtenir le format de date-heure pour que locale. Je sais que je peux facilement format un timestamp ou un objet date, conformément aux paramètres régionaux. Mais j'ai besoin juste de la représentation de chaîne de format de date, disons, d'une expression régulière. Est-il fonction de la gestion de cette fonctionnalité? Je n'ai pas trouvé de si loin...
Exapmle:
$locale = "en_US";
$format = the_function_i_need($locale);
echo $format; //prints something like "month/day/year, hour:minute"
Je suis d'accord avec @dagon. et configuration de PHP pour suivre l'UTC vous, il sera beaucoup plus facile.
Je crois que votre commentaire est plus précis, vous devez mettre comme une réponse.
Je crois que votre commentaire est plus précis, vous devez mettre comme une réponse.
OriginalL'auteur Pavel S. | 2012-01-11
Vous devez vous connecter pour publier un commentaire.
converti à partir commentaire:
vous aurez à construire un tableau avec une liste des possibilités.
http://en.wikipedia.org/wiki/Date_format_by_country devrait aider.
post la fonction de quelque part quand c'est fait, je suis sûr qu'il pourrait être utile pour d'autres
on m'a demandé de tourner commentaire pour répondre, et je l'ai fait.
OriginalL'auteur
Je suis en train de faire la même chose moi-même. Au lieu de construire un tableau de tous les pays, en utilisant les regex pour déterminer le format?
strftime("%x", $timestamp)
OriginalL'auteur CrEOF
Faire shure vous installer intl.
C'est pour moi la meilleure réponse universelle, de court et de travail. Si ces ICU formats semblent être assez court sur les possibilités. J'avais besoin de quelque chose comme IntlDateFormatter::COURTE avec 4 chiffres pour l'année et le leader de 0s.
Je n'ai pas décroché jusqu'du manuel de droit de suite (il est dit
"Medium style (Jan 12, 1952)"
), mais apparemment le IntlDateFormatter::MOYEN, c'est juste ce dont j'avais besoin (zéros non significatifs, les 5 chiffres de l'année)OriginalL'auteur verybadbug
Utilisation
strftime()
en conjonction avecsetlocale()
. On dirait que c'est ce que vous cherchez.ah, je crois que je comprends maintenant.
strftime()
permettra de convertir de l'heure et de la langue de la sortie, mais pour le format "aaaa-mm-jj" au Canada, par opposition à "dd/mm/yyyy" en Albanie, je crois que vous aurez à utiliser Dagon. semble comme il devrait y avoir une fonction qui fait cela...OriginalL'auteur Matt K