首页 > 解决方案 > 将没有年份的日期/时间转换为今年

问题描述

我正在接受看起来像“8-15 14:45”的输入并尝试将其转换为日期时间对象(然后将其转换回字符串)。我的问题是它将年份设置为 1900,但我需要将年份设置为今年。我该如何做到这一点?

到目前为止,我有datetime.datetime.strptime('8-15 14:45', '%m-%d %H:%M')这给了我datetime.datetime(1900, 8, 15, 14, 45),但我需要datetime.datetime(2021, 8, 15, 14, 45)。如果可以的话,我不想对 2021 年进行硬编码。

抱歉,如果在某个地方回答了这个问题,我的 google-fu 让我失望了。

标签: pythondatetime

解决方案


datetime.replace与 datetime.today().year 一起使用 :

this_year = dt.datetime.today().year
dt.datetime.strptime('8-15 14:45', '%m-%d %H:%M').replace(year=this_year)

推荐阅读