8
from datetime import datetime

datetime.strptime('%b%d  %I:%M%p', 'AUG21  3:26PM')

results with 
1900-08-21 15:26:00

如何以 pythonic 方式编写,以便在没有年份时,将当前年份作为默认年份(2013 年)?

我检查了 strftime 函数没有更改默认值的选项..也许另一个时间库可以做?

谢谢

4

2 回答 2

7

像你已经在做的那样解析日期,然后

date= date.replace(2013)

这是您正在使用的模块的最简单解决方案之一。

仔细想想,你可能会在明年 2 月 29 日遇到问题。

input= 'Aug21  3:26PM'
output= datetime.datetime.strptime('2013 '+ input ,'%Y %b%d  %I:%M%p')
于 2013-08-22T00:03:25.913 回答
0

您可以找出今天的日期来替换年份以进行动态替换。

datetime.strptime('%b%d  %I:%M%p', 'AUG21  3:26PM').replace(year=datetime.today().year)
于 2021-06-13T12:04:34.617 回答