[Python]datetimeから曜日を取得するには?

python

どうも、ちょげ(@chogetarou)です。

datetimeから曜日を取得する方法を紹介します。

スポンサーリンク

曜日を数値として取得する方法

インターフェース, インターネット, プログラム, ブラウザ, Www

datetimeから曜日を数値として取得する方法は、2つあります。

weekday()

1つは、weekday()を使う方法です。

具体的には、datetimeからweekday()を呼び出します。

day.weekday()

上記のweekday()は、呼び出したdatetimeから曜日の数値を返します。

weekday()で返す曜日の数値は、月曜日が「0」、火曜日が「1」、・・・日曜日が「6」のようになっています。

使用例

from datetime import datetime

day = datetime.now()

weekofday = day.weekday()

print(day) #2022-06-28 08:51:41.211569
print(weekofday) #1

isoweekday()

もう1つは、isoweekday()を使う方法です。

具体的には、datetimeからisoweekday()を呼び出します。

day.isoweekday()

上記のisoweekday()は、呼び出したdatetimeの曜日の数値を返します。

isoweekday()で返す曜日の数値は、日曜日が「0」、月曜日が「1」、・・・土曜日が「6」のようになっています。

weekday()とは数値の始まりが違うことに、注意してください。

使用例

from datetime import datetime

day = datetime.now()

weekofday = day.isoweekday()

print(day) #2022-06-28 08:51:41.211569
print(weekofday) #2

曜日を文字列として取得する方法

datetimeから曜日を文字列として取得する方法は、2つあります。

strftime()

1つは、strftime()を使う方法です。

まず、datetimeからstrftime()を呼び出します。

そして、strftime()の引数に「%A」を指定します。

weekofday = day.strftime("%A")

strftime()は、呼び出したdatetimeの曜日の文字列を返します。

使用例

from datetime import datetime

day = datetime.now()

weekofday = day.strftime("%A")

print(day) #2022-06-28 08:51:41.211569
print(weekofday) #Tuesday

calendar

もう1つは、calendarを使う方法です。

まず、calendarをインポートします。

import calendar

datetimeからday_name[]を呼び出します。

そして、[]内で、datetimeからweekday()を呼び出します。

calendar.day_name[day.weekday()]

day_name[]は、[]内でweekday()を呼び出したdatetimeの曜日の文字列を返します。

使用例

from datetime import datetime
import calendar

day = datetime.now()

weekofday = calendar.day_name[day.weekday()]

print(day) #2022-06-28 08:51:41.211569
print(weekofday) #Tuesday

まとめ

datetimeから曜日を数値として取得する方法は、次の2つです。

  • weekday()を使う方法
    date.weekday()
  • isoweekday()を使う方法
    day.isoweekday()

datetimeから曜日を文字列として取得する方法は、次の2つです。

  • strftime()を使う方法
    weekofday = day.strftime("%A")
  • calendarを使う方法
    calendar.day_name[day.weekday()]

コメント

タイトルとURLをコピーしました