如何从日期时间获取日期名称

Posted

技术标签:

【中文标题】如何从日期时间获取日期名称【英文标题】:How to get day name from datetime 【发布时间】:2012-01-12 21:39:52 【问题描述】:

如何从 Python 中的日期时间对象中获取日期名称(例如星期一、星期二、星期三、星期四、星期五、星期六和星期日)?

例如,datetime(2019, 9, 6, 11, 33, 0) 应该给我"Friday"

【问题讨论】:

【参考方案1】:
import datetime
now = datetime.datetime.now()
print(now.strftime("%A"))

请参阅datetime.now、datetime.strftime 和 more on strftime 的 Python 文档。

【讨论】:

使用%a作为缩写名称【参考方案2】:
>>> from datetime import datetime as date
>>> date.today().strftime("%A")
'Monday'

【讨论】:

【参考方案3】:
import datetime
now = datetime.datetime.now()
print(now.dt.day_name())

【讨论】:

这不适用于日期时间。看起来像熊猫一样的日期时间(dt 访问器)?【参考方案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)]

【讨论】:

【参考方案5】:

如果你不介意使用其他包,你也可以使用 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())。

【讨论】:

以上是关于如何从日期时间获取日期名称的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Presto 中的日期获取月份名称

从jooq中的日期获取月份名称

从日期获取月份名称

从 Oracle 中的日期获取月份名称

从 MySQL 中的时间戳获取日期名称

如何从日期中获取工作日名称?