【发布时间】:2019-07-24 13:02:43
【问题描述】:
我得到了一系列格式为'July 24' 的日期字符串,即'%B %d'。我想解析这些字符串,使年份对应于最近的日期,所以如果今天是 2019 年 7 月 24 日,那么 'July 24' 应该被解析为 24/7/2019 但'July 25' 应该被解析为 25/7 /2018。我希望datetime 模块可以做到这一点,但它只是将年份设置为 1900。
>>> from datetime import datetime
>>> datetime.strptime('July 24', '%B %d')
datetime.datetime(1900, 7, 24, 0, 0)
有没有比根据我的规则手动解析日期更简单的方法?
【问题讨论】:
-
您可以将
year设置为datetime.datetime.now()的年份。如果大于datetime.datetime.now(),则设置年份为datetime.datetime.now()'s year - 1 -
@Silveris 是的,这就是我手动解析日期的意思。我想在 datetime 模块中证明一个选项的合理性是不够的......