首页 > 解决方案 > 将字符串转换为日期时间格式时格式不匹配

问题描述

我的目标是将字符串转换为日期时间格式。我在下面的方法中尝试了字符串格式2020-10-02 09:00:00.000 ,但两者都给了我格式不匹配错误。

timerangestart = "2020-10-02 09:00:00.000"
timerangestart = timerangestart[:-4]
my_time = datetime.strptime(timerangestart, '%y-%m-%d %H:%M:%S')

timerangestart = "2020-10-02 09:00:00.000"
timerangestart = timerangestart + "000"
my_time = datetime.strptime(timerangestart, '%y-%m-%d %H:%M:%S.%f')

ValueError: time data '2020-10-02 09:00:00' does not match format '%y-%m-%d %H:%M:%S'

我做错了什么?

标签: python-3.xdatetime

解决方案


%y错了。应该是%Y

试试这个:

from datetime import datetime

timerangestart = "2020-10-02 09:00:00.000"
timerangestart = timerangestart[:-4]
my_time = datetime.strptime(timerangestart, '%Y-%m-%d %H:%M:%S')
print(my_time)

timerangestart = "2020-10-02 09:00:00.000"
timerangestart = timerangestart + "000"
my_time = datetime.strptime(timerangestart, '%Y-%m-%d %H:%M:%S.%f')

print(my_time)

输出:

2020-10-02 09:00:00
2020-10-02 09:00:00

这是一个方便的strftime()格式参考表。


推荐阅读