格式01-01-16 7:43字符串转换为日期时间

时间:2019-08-24 10:56:22

标签: python datetime strptime

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

'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'

2 个答案:

答案 0 :(得分:3)

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

  

它是 2-digit year 而不是 4-digit year

为了通过2-digit year进行解析,例如'16'而不是'2016',需要%y而不是%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

答案 1 :(得分:1)

首先,如果要匹配200,则应写2016,而对于%Y,则应写16

这意味着您应该写:

%y

选中this link for all format codes