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".
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
import datetime
now = datetime.datetime.now()
print(now.strftime("%A"))
See the Python docs for datetime.now, datetime.strftime and more on strftime.
Method 2
>>> from datetime import datetime as date
>>> date.today().strftime("%A")
'Monday'
Method 3
If you don’t mind using another package, you can also use pandas to achieve what you want:
>>> my_date = datetime.datetime(2019, 9, 6, 11, 33, 0) >>> pd.to_datetime(my_date).day_name() 'Friday'
It does not sound like a good idea to use another package for such easy task, the advantage of it is that day_name method seems more understandable to me than strftime("%A") (you might easily forget what is the right directive for the format to get the day name).
Hopefully, this could be added to datetime package directly one day (e.g. my_date.day_name()).
Method 4
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)]
Method 5
Alternative
You can use import time instead of datetime as following:
import time WEEKDAYS = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] now = time.localtime() weekday_index = now.tm_wday print(WEEKDAYS[weekday_index])
Method 6
import datetime
import pandas as pd
data[‘day’]=data.index
Method 7
import datetime now = datetime.datetime.now() print(now.dt.day_name())
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0