在Python中将字符串转换为日期时间但没有成功

问题描述 投票:0回答:1

所以我从文件中读取日期时间(但它是将其作为字符串读取),然后使用这个简单的代码将其转换为日期时间格式

 last_update_str = flast.readlines()[-1].strip()
 last_update = time.strptime(last_update_str,'%YYYY-%mm-%dd %HH:%MM')
 next_run_date = last_update - timedelta(days=2)

我收到此错误:

raise ValueError("时间数据 %r 与格式 %r 不匹配" % ValueError:时间数据“'2023-12-03 00:00'”与格式'%YYYY-%mm-%dd %HH:%MM'

输入文件只有这一行:

'2023-12-03 00:00'

任何人都可以帮忙吗,这似乎是一个小问题,但花了我一天多的时间,但我仍然无法解决它。 TIA

python string datetime format
1个回答
0
投票

您使用

strptime
的方式错误, 它接受为:

  • %Y
    :年份,世纪为十进制数字。
  • %m
    :以零填充的十进制数字形式的月份。
  • %d
    :月份中的第几天,以零填充的十进制数。
  • %H
    :小时(00 至 23)。
  • %M
    :分钟(00 到 59)。

因此,正确的方法是使用:

last_update = time.strptime(last_update_str, '%Y-%m-%d %H:%M')
© www.soinside.com 2019 - 2024. All rights reserved.