How do I get the day of week given a date?
I want to find out the following:
given a date (datetime
object), what is the corresponding day of the week?
For instance, Sunday is the first day, Monday: second day.. and so on
And then if the input is something like today's date.
Example
>>> today = datetime.datetime(2017, 10, 20)
>>> today.get_weekday() # what I look for
The output is maybe 6
(since it's Friday)
Solution 1:
Use weekday()
:
>>> import datetime
>>> datetime.datetime.today()
datetime.datetime(2012, 3, 23, 23, 24, 55, 173504)
>>> datetime.datetime.today().weekday()
4
From the documentation:
Return the day of the week as an integer, where Monday is 0 and Sunday is 6.
Solution 2:
If you'd like to have the date in English:
from datetime import date
import calendar
my_date = date.today()
calendar.day_name[my_date.weekday()] #'Wednesday'
Solution 3:
If you'd like to have the date in English:
>>> from datetime import datetime
>>> datetime.today().strftime('%A')
'Wednesday'
Read more: https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
Solution 4:
Use date.weekday()
when Monday is 0 and Sunday is 6
or
date.isoweekday()
when Monday is 1 and Sunday is 7