J'ai recherché comment obtenir la journée en Python, c'est donc un résumé sous forme de mémorandum.
Ce qui suit est une page de référence.
Il semble qu'il existe deux méthodes principales.
--Comment utiliser la méthode strftime ()
du module datetime
--Comment utiliser la méthode jour de la semaine ()
du module datetime
et le nom_jour
du module calendrier
Regardons chacun de plus près.
strftime ()
du module datetime
** strftime ()
** du module datetime est une méthode pour convertir et mettre en forme un type de date ou un objet de type datetime en un type de chaîne de caractères.
Si vous passez le format que vous souhaitez convertir en argument, il sera converti en chaîne de caractères.
% 〇
est appelé un code de formatage, et vous pouvez incorporer ici l'année, le mois, la minute, le jour, etc.
Le code de format du jour est le suivant.
--% A
: nom du jour
--% a
: Nom du jour (forme courte)
Si vous souhaitez passer une journée en anglais, vous pouvez facilement l'obtenir comme suit.
import datetime as dt
date = dt.date(2001, 1, 2)
print(date.strftime('%Y-%m-%d')) # => '2001-01-02'
#Obtenez la journée
print(date.strftime('%A')) # => 'Tuesday'
print(date.strftime('%a')) # => 'Tue'
Le module locale
est un module permettant de vérifier et de modifier les paramètres régionaux sur Python, et vous pouvez modifier les paramètres régionaux en utilisant locale.setlocale ()
. Après avoir changé la locale en environnement japonais, vous pouvez obtenir le jour japonais en utilisant strftime ()
comme dans le code ci-dessus.
import datetime as dt
import locale
#L'heure locale dans le module locale'ja_JP.UTF-8'Changer pour
locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
date = dt.date(2001, 1, 2)
print(date.strftime('%A')) # => 'Mardi'
print(date.strftime('%a')) # => 'Feu'
week ()
du module datetime
et le day_name
du module calendar
Le «jour de la semaine ()» du module «datetime» renvoie l'entier correspondant au jour. Le lundi commence à 0 et le dimanche se termine à 6. Au fait, le module datetime
a aussi une méthode appelée ʻisoweekday ()`, qui commence par 1 le lundi et se termine par 7 le dimanche.
Le day_name ()
du module calender
renvoie un type de calendrier._localized_day
pour le jour (en anglais), de sorte que vous pouvez obtenir le jour en combinant semaine ()
et day_name
.
import calendar
import datetime as dt
import locale
print((2001, 1, 2).weekday()) # => 1
print(calendar.day_name[:]) # => ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
#L'heure locale dans le module locale'ja_JP.UTF-8'Changer pour
locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
print(calendar.day_name[:]) # => ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'samedi', 'dimanche']
Utilisez ce qui a été mentionné précédemment.
import calendar
import datetime as dt
date = dt.date(2001, 1, 2)
#Obtenez la journée
day_index = date.weekday() # => 1
print(calendar.day_name[day_index]) # => 'Tuesday'
Pour l'obtenir en japonais, utilisez locale.setlocale ()
pour changer les paramètres régionaux.
import calendar
import datetime as dt
import locale
#L'heure locale dans le module locale'ja_JP.UTF-8'Changer pour
locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
date = dt.date(2001, 1, 2)
#Obtenez la journée
day_index = date.weekday() # => 1
print(calendar.day_name[day_index]) # => 'Mardi'
Dans les deux cas semble fonctionner, mais si vous ne voulez pas changer la locale parce que vous changez la locale (uniquement dans le code que vous avez exécuté, pas à l'échelle du système), utilisez locale.setlocale ()
Il semble bon de définir et d'utiliser une fonction qui passe d'un jour anglais à un jour japonais sans l'utiliser.
Recommended Posts