Ich habe nachgeforscht, wie man den Tag in Python bekommt, daher ist es eine Zusammenfassung als Memorandum.
Das Folgende ist eine Referenzseite.
Es scheint, dass es zwei Hauptmethoden gibt.
Schauen wir uns die einzelnen genauer an.
** strftime ()
** des datetime-Moduls ist eine Methode zum Konvertieren und Formatieren eines Datums- oder datetime-Typobjekts in einen Zeichenfolgentyp.
Wenn Sie das Format, das Sie konvertieren möchten, in ein Argument übergeben, wird es in eine Zeichenfolge konvertiert.
% 〇
wird als Formatierungscode bezeichnet, und Sie können hier das Jahr, den Monat, die Minute, den Tag usw. einbetten.
Der Formatcode für den Tag lautet wie folgt.
--% A
: Tagesname
--% a
: Tagesname (Kurzform)
Wenn Sie einen englischen Tag haben möchten, können Sie ihn einfach wie folgt erhalten.
import datetime as dt
date = dt.date(2001, 1, 2)
print(date.strftime('%Y-%m-%d')) # => '2001-01-02'
#Holen Sie sich den Tag
print(date.strftime('%A')) # => 'Tuesday'
print(date.strftime('%a')) # => 'Tue'
Das "locale" -Modul ist ein Modul zum Überprüfen und Ändern des Gebietsschemas in Python. Sie können das Gebietsschema mit "locale.setlocale ()" ändern. Nachdem Sie das Gebietsschema in eine japanische Umgebung geändert haben, können Sie den japanischen Tag mithilfe von "strftime ()" wie im obigen Code abrufen.
import datetime as dt
import locale
#Das Zeitgebietsschema im Gebietsschemamodul'ja_JP.UTF-8'Ändern
locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
date = dt.date(2001, 1, 2)
print(date.strftime('%A')) # => 'Dienstag'
print(date.strftime('%a')) # => 'Feuer'
Das weekday ()
des datetime
Moduls gibt die dem Tag entsprechende Ganzzahl zurück. Montag beginnt um 0 und Sonntag endet um 6. Übrigens hat das "datetime" -Modul auch eine Methode namens "isoweekday ()", die am Montag mit 1 beginnt und am Sonntag mit 7 endet.
Der day_name ()
des calender
-Moduls gibt einen aufschneidbaren Typ von calendar._localized_day
für den Tag (Englisch) zurück, sodass Sie den Tag erhalten können, indem Sie weekday ()
und day_name
kombinieren.
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']
#Das Zeitgebietsschema im Gebietsschemamodul'ja_JP.UTF-8'Ändern
locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
print(calendar.day_name[:]) # => ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag']
Verwenden Sie das, was zuvor erwähnt wurde.
import calendar
import datetime as dt
date = dt.date(2001, 1, 2)
#Holen Sie sich den Tag
day_index = date.weekday() # => 1
print(calendar.day_name[day_index]) # => 'Tuesday'
Um es auf Japanisch zu erhalten, verwenden Sie locale.setlocale ()
, um das Gebietsschema zu ändern.
import calendar
import datetime as dt
import locale
#Das Zeitgebietsschema im Gebietsschemamodul'ja_JP.UTF-8'Ändern
locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
date = dt.date(2001, 1, 2)
#Holen Sie sich den Tag
day_index = date.weekday() # => 1
print(calendar.day_name[day_index]) # => 'Dienstag'
Beide Methoden scheinen zu funktionieren, aber wenn Sie das Gebietsschema nicht ändern möchten, weil Sie das Gebietsschema ändern (nur in dem von Ihnen ausgeführten Code, nicht systemweit), verwenden Sie locale.setlocale ()
Es scheint gut, eine Funktion zu definieren und zu verwenden, die von einem englischen Tag in einen japanischen Tag konvertiert, ohne sie zu verwenden.
Recommended Posts