72
votes

How can I get the day name (such as Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and Sunday) from a datetime object in Python?

So, for example, datetime(2019, 9, 6, 11, 33, 0) should give me "Friday".

4

4 Answers

187
votes
import datetime
now = datetime.datetime.now()
print(now.strftime("%A"))

See the Python docs for datetime.now, datetime.strftime and more on strftime.

31
votes
>>> from datetime import datetime as date
>>> date.today().strftime("%A")
'Monday'
1
votes
import datetime
numdays = 7
base = datetime.date.today()
date_list = [base + datetime.timedelta(days=x) for x in range(numdays)]
date_list_with_dayname = ["%s, %s" % ((base + datetime.timedelta(days=x)).strftime("%A"),  base + datetime.timedelta(days=x)) for x in range(numdays)]
0
votes
import datetime
now = datetime.datetime.now()
print(now.dt.day_name())