如何从Python的datetime对象中获取星期几的名称(例如:星期一,星期二,星期三,星期四,星期五,星期六和星期日)?
所以,例如,datetime(2019, 9, 6, 11, 33, 0)应该返回"星期五"。
所以,例如,datetime(2019, 9, 6, 11, 33, 0)应该返回"星期五"。
import datetime
now = datetime.datetime.now()
print(now.strftime("%A"))
请查看Python文档中的datetime.now,datetime.strftime以及更多关于strftime的内容。
>>> from datetime import datetime as date
>>> date.today().strftime("%A")
'Monday'
如果您不介意使用另一个包,您也可以使用pandas来实现您想要的功能:
>>> my_date = datetime.datetime(2019, 9, 6, 11, 33, 0)
>>> pd.to_datetime(my_date).day_name()
'Friday'
使用另一个包来完成如此简单的任务似乎不是一个好主意,原因是day_name
方法比strftime("%A")
更容易理解(你可能会忘记获取星期几名称的正确指令格式)。
希望有一天这个功能能够直接添加到datetime包中(例如:my_date.day_name()
)。
datetime : import time :
import time
WEEKDAYS = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
now = time.localtime()
weekday_index = now.tm_wday
print(WEEKDAYS[weekday_index])
您可以使用 f-string 与 格式化代码,例如 %A
或 %a
:
> import datetime
# Provide a date object:
> d = datetime.date.today()
> d
datetime.date(2023, 2, 3)
# Provide a datetime object:
> dt = datetime.datetime.now()
> dt
datetime.datetime(2023, 2, 3, 17, 48, 7, 415010)
# Full weekday name:
> f'{d:%A}'
'Friday'
> f'{dt:%A}'
'Friday'
# Abbreviated weekday name:
> f'{d:%a}'
'Fri'
> f'{dt:%a}'
'Fri'
date.weekday()
和datetime.weekday()
。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)]
%a
表示缩写的名称。 - Adversus