1. ホーム
  2. python

曜日名を取得する int

2023-10-01 13:09:33

質問

曜日を表す整数(0,1,2...)があり、曜日名('Monday', 'Tuesday', ...)を取得する必要があります。

これを行うためのPythonの組み込み関数または方法はありますか?

これは私が書いた関数で、動作しますが、私は組み込みのdatetime libから何かを望んでいました。

def dayNameFromWeekday(weekday):
    if weekday == 0:
        return "Monday"
    if weekday == 1:
        return "Tuesday"
    if weekday == 2:
        return "Wednesday"
    if weekday == 3:
        return "Thursday"
    if weekday == 4:
        return "Friday"
    if weekday == 5:
        return "Saturday"
    if weekday == 6:
        return "Sunday"

どのように解決するのですか?

よりPythonicな方法として calendar モジュール :

>>> import calendar
>>> list(calendar.day_name)
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

または、一般的な曜日名の略称を使用することもできます。

>>> list(calendar.day_abbr)
['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']

次に、好きなようにインデックスを付けます。

>>> calendar.day_name[1]
'Tuesday'

(月曜日が週の初めの日でない場合は setfirstweekday を使って変更してください)

calendarモジュールを使用すると、場所を認識できる利点があります。

>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
'de_DE'
>>> list(calendar.day_name)
['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag']