将日期字符串转换为时间戳

时间:2014-07-31 10:08:45

标签: python python-datetime

我有日期字符串,如'1997-05-07'('year-month-day'),当我尝试将其转换为时间戳时(为了比较它们并有一些情节我需要转换它们)我得到这个错误:

ValueError: time data '1997-07-05' does not match format '%y-%m-%d'  

我尝试的是:

 time.mktime(datetime.datetime.strptime('1997-07-05','%y-%m-%d').timetuple())

2 个答案:

答案 0 :(得分:1)

%y格式要求没有世纪的年份为十进制填充数字。如果您要解析1997,则需要使用%Y

您可以查看有关strptime工作原因的更多信息in the official documentation

答案 1 :(得分:1)

您的格式错误 - %y仅匹配2位数年份。如果你想要"完整"年,您必须使用%Y

time.mktime(datetime.datetime.strptime('1997-07-05','%Y-%m-%d').timetuple())
868053600.0