Paramètres régionaux de format de date en Python
Comment puis-je obtenir datetime.datetime.now()
imprimées dans la langue maternelle?
>>> session.deathDate.strftime("%a, %d %b %Y")
'Fri, 12 Jun 2009'
Je voudrais obtenir le même résultat, mais dans la langue locale.
Vous devez vous connecter pour publier un commentaire.
Il vous suffit de définir les paramètres régionaux, comme dans cet exemple:
Si votre application est censée prendre en charge plusieurs paramètres régionaux, puis se localisées format de date/heure en changeant les paramètres régionaux (par le biais de
locale.setlocale()
) est déconseillé. Pour l'explication de pourquoi c'est une mauvaise idée de voir Alex Martelli est réponse à la question À l'aide de Python locale ou l'équivalent dans les applications web? (essentiellement locale est global et concerne l'ensemble de l'application afin de changer cela pourrait changer le comportement des autres parties de la demande)Vous pouvez le faire proprement à l'aide de Babel paquet comme ça:
Voir La Date et l'Heure section de Babel de la documentation.
Vous devez utiliser
%x
et%X
pour le format de la chaîne de date dans les paramètres régionaux appropriés. E. g. en suédois, une date est représentée comme2014-11-14
au lieu de11/14/2014
.La bonne voie pour obtenir le résultat que l'Unicode:
Ici est le résultat de plusieurs langues:
.decode
est nécessaire uniquement pour Python 2Une autre option est:
nl_langinfo
n'est pas disponible sur Windows (Python 2.7.8). Voir ma réponse pour une plate-forme compatible.solution pour la langue russe et de la croix-plate-forme