首页 > 解决方案 > 格式 01-01-16 7:43 字符串到日期时间

问题描述

我有以下要转换为日期时间对象的字符串:

'01-01-16 7:43'
'01-01-16 3:24'

但是,当我尝试使用 strptime 时,它​​总是会导致格式不匹配错误。

Pandas to_datetime function很好地处理了自动转换,但我也想用datetime库来解决它。

format_ = '%m-%d-%Y %H:%M'

my_date = datetime.strptime("01-01-16 4:51", format_)

ValueError: 时间数据 '01-01-16 4:51' 与格式'%m-%d-%Y %H:%M'不匹配

标签: pythondatetimestrptime

解决方案


正如我看到你的日期时间字符串'01-01-16 7:43'

2-digit year不是 4-digit year

为了解析 a 2-digit year,例如'16'而不是'2016'%y需要 a 而不是 a %Y

你可以这样做

from datetime import datetime
datetime_str = '01-01-16 7:43' 
datetime_object = datetime.strptime(datetime_str, '%m-%d-%y %H:%M')    
print(type(datetime_object))
print(datetime_object)  

给你输出2016-01-01 07:43:00


推荐阅读