python - 将没有年份的日期/时间转换为今年
问题描述
我正在接受看起来像“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 让我失望了。
解决方案
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)
推荐阅读
- mysql - 如何过滤包含最大 2 倍的内容并且其中一个包含某些内容的列?
- reactjs - 使用 gatsby-image 加载图像缓慢
- kframework - `[错误]内部:UnsupportedOperationException类型的未捕获异常(UnsupportedOperationException:null)`
- sql - 错误消息 156:关键字“订单”附近的语法不正确
- spring - springboot google oauth2和来自后端的授权
- ruby-on-rails - 试图实现这个创建奖品组的 Rails 项目,但我一直遇到 Bundler 和 gem 安装错误
- python - 重采样没有按预期工作(见情节)
- python - 显示没有秒的 TimeField 值 - Django
- python - 高级列表理解:如何在一个列表理解中容纳多个 for 循环?
- python - 如何使用 Python 中的列表理解为类设置唯一 ID?