Que faire si vous obtenez `locale.Error: unsupported locale setting` lors de l'obtention de la date du jour en Python

Je veux obtenir le jour de la date en Python

Image comme ci-dessous 2019-01-07 00: 00: 00⇒Mardi

Environnement d'exécution

Ce que j'ai fait

Cet article m'a semblé utile, alors je l'ai presque copié et exécuté. Obtenir le jour et le mois de la date en Python sous forme de chaîne de caractères (japonais, anglais, etc.)

Il semble que vous puissiez l'obtenir en changeant la locale avec le module locale.

import datetime
import locale

dt = datetime.datetime(2018, 1, 1)
print(dt)
# 2018-01-01 00:00:00

print(dt.strftime('%A, %a, %B, %b'))
# Monday, Mon, January, Jan
locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
print(locale.getlocale(locale.LC_TIME))
# ('ja_JP', 'UTF-8')
print(dt.strftime('%A, %a, %B, %b'))
#Lundi,Mois,janvier,  1

Il y avait un code de référence comme celui ci-dessus, donc quand je l'ai exécuté, j'ai eu une erreur ...

2018-01-01 00:00:00
Monday, Mon, January, Jan
Traceback (most recent call last):
  File ".\time_test.py", line 11, in <module>
    locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
  File "C:\Users\XXXXX\AppData\Local\Programs\Python\Python37\lib\locale.py", line 604, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting

Puisqu'il dit «locale.Error: paramètre de locale non pris en charge», je pense que la langue et la région spécifiées par «setlocale» sont incorrectes.

La gestion des erreurs

Vérifiez correctement les arguments passés par setlocale. locale --- documentation Python Tout d'abord, il est dit d'écrire le code suivant.

import locale
locale.setlocale(locale.LC_ALL, '')

Si vous changez la partie de locale.setlocale (locale.LC_TIME, 'ja_JP.UTF-8') pour le style d'écriture ci-dessus ...

time_test.py


import datetime
import locale

dt = datetime.datetime(2018, 1, 1)
print(dt)
# 2018-01-01 00:00:00

print(dt.strftime('%A, %a, %B, %b'))
# Monday, Mon, January, Jan

#locale.setlocale(locale.LC_TIME, 'ja-JP')
locale.setlocale(locale.LC_ALL, '')
print(locale.getlocale(locale.LC_TIME))


print(dt.strftime('%A, %a, %B, %b'))
#Lundi,Mois,janvier,  1

Résultat de sortie

2018-01-01 00:00:00
Monday, Mon, January, Jan
('Japanese_Japan', '932')
Lundi,Mois,janvier, 1

J'ai pu afficher le jour que je voulais obtenir.

Puisque le résultat de sortie est ('Japanese_Japan', '932') in print (locale.getlocale (locale.LC_TIME)), on suppose que la cause a été spécifiée par ja_JP.

locale.setlocale (locale.LC_ALL, '') Même si je l'ai changé en locale.setlocale (locale.LC_TIME, 'Japanese_Japan.UTF-8'), il semblait que je pouvais obtenir des résultats japonais, alors je l'ai exécuté.

('Japanese_Japan', 'utf8')
Lundi,Mois,janvier, 1

J'ai pu obtenir les résultats escomptés.

Recommended Posts

Que faire si vous obtenez `locale.Error: unsupported locale setting` lors de l'obtention de la date du jour en Python
Que faire si vous obtenez moins zéro en Python
Que faire si vous obtenez un avertissement "Mauvaise plateforme Python" lors de l'utilisation de Python avec l'EDI NetBeans
Que faire si vous obtenez une erreur de mémoire lors de la conversion de PySparkDataFrame en PandasDataFrame
Que faire si vous obtenez une erreur lors de l'importation de matplotlib en Python (Mac)
Que faire si vous obtenez l'erreur RuntimeError: Python n'est pas installé en tant que framework lorsque vous essayez d'utiliser matplitlib et pylab dans Python 3.3
Que faire si vous obtenez une erreur de remplacement obligatoire `get_config` lorsque vous essayez de model.save avec Keras
[Python] Que faire en cas de violation de PEP8 lors du processus d'importation à partir du répertoire ajouté à sys.path
Que faire si vous obtenez une erreur lors de l'installation de python avec pyenv
Que faire si vous obtenez «Python non configuré». Utilisation de PyDev dans Eclipse
[Python] Choses à vérifier lorsqu'une erreur de décodage Unicode apparaît dans Django
Que faire si vous obtenez une erreur en essayant d'envoyer un message dans tasks.loop () immédiatement après le démarrage
Que faire si vous obtenez une erreur OpenSSL lors de l'installation de Python 2 avec pyenv
Que faire quand "Aucun noyau pour le langage python trouvé" apparaît dans Hydrogen
Que faire si vous obtenez "(35, 'Erreur de connexion SSL')" dans pycurl (l'un d'entre eux)
Que faire si la barre de progression n'est pas affichée dans tqdm de python
Que faire lorsque Python ne passe pas de la version système dans pyenv
Que faire si vous obtenez l'erreur ʻERR_FEATURE_UNAVAILABLE_ON_PLATFORM` lors de l'utilisation de ts-node-dev sous Linux
Que faire si Combinaisons devient «couverture inconnue»
Que faire si vous obtenez l'erreur "Erreur: opencv3: Ne prend pas en charge la construction des wrappers Python 2 et 3" lors de l'installation d'openCV 3
Notez ce que vous voulez faire à l'avenir avec Razpai
Que faire lorsque swagger-codegen est terminé avec python et Erreur d'importation: aucun module nommé n'apparaît
Que faire si vous obtenez une erreur Impossible de récupérer le lien métallique pour le référentiel avec yum
Que faire si vous obtenez une erreur lors de l'exécution de "certbot renouveler" dans l'environnement CakePHP
[Python] Obtenir la date de mise à jour d'un article d'actualité à partir de HTML
Que faire si vous obtenez une erreur de décodage Unicode avec l'installation de pip
Que faire si vous ne pouvez pas utiliser la poubelle dans Lubuntu 18.04.
Que faire lorsque vous obtenez "Je ne peux pas voir le site !!!!"
Que faire lorsque le type de valeur est ambigu en Python?
Que faire si vous vous fâchez contre les `` déclarations '' doivent être une liste 2D ... dans la flèche matplotlib
[Django] Que faire quand il y a de nombreux champs dans le modèle que vous souhaitez créer
Que faire s'il y a un décimal dans python json .dumps
Si vous voulez un singleton en python, considérez le module comme un singleton
Que faire si vous ne pouvez pas utiliser la recherche de grille de sklearn en Python
Que faire si vous vous perdez dans la référence de fichier avec FileNotFoundError
Que faire si vous vous fâchez avec TensorFlow v2 sans l'attribut "app"
Que faire lorsque TypeError se produit au minimum et au maximum de numpy
Que faire si vous obtenez une erreur lors du chargement de mnist
Obtenez une instance datetime à tout moment de la journée en Python
Que se passe-t-il si vous "importez A, B comme C" en Python?
Que faire si vous obtenez "La session n'a pas pu être ouverte" lors de l'installation de CentOS sur VirtualBox
Que faire lorsque vous vous fâchez avec "Value Error: unknown local: UTF-8" dans python manage.py syncdb
Que faire si vous obtenez une erreur d'autorisation refusée (clé publique) lorsque vous essayez de tirer sur le hub Git
Que faire si vous obtenez l'erreur Le script WSGI cible '/ var / www / xxx / xxx.wsgi' ne peut pas être chargé en tant que module python
Récupérer l'appelant d'une fonction en Python
Que faire pour obtenir une feuille de calcul Google en Python
[Python] Get the day (anglais et japonais)
[python] Que faire si vous obtenez une erreur avec send_keys dans le chrome sans tête
Que faire lorsqu'un avertissement apparaît autour de l'intégration de Python dans CheckHealth de Neovim
Que faire si une erreur de codage Unicode se produit dans Sublime Text Python
Que faire si une erreur de version se produit dans le pilote Selenium Chrome
Comment obtenir une liste de fichiers dans le même répertoire avec python
Que faire lorsque vous souhaitez recevoir des fichiers à distance depuis un client Windows
Que faire si vous obtenez l'erreur L'entrée contient NaN, l'infini ou une valeur trop grande pour dtype ('float64').
Que faire lorsqu'une erreur "service inconnu" est renvoyée par le serveur gRPC
Comment obtenir le nombre de chiffres en Python
Que faire si le Microsoft Store s'ouvre même si vous exécutez python sous Windows