在Python中将字符串转换为datetime对象

nrs*_*s90 0 python string datetime python-2.7

我正在尝试将字符串转换为日期时间对象...

time = '10:00:00'
date = '2016-10-03'
date = date + ' ' + time
print date
date = datetime.strptime(date, '%Y-%m-%d %H:%M:%y')
print date
Run Code Online (Sandbox Code Playgroud)

打印出来:

2016-10-03 10:00:00
2000-10-03 10:00:00
Run Code Online (Sandbox Code Playgroud)

由于某种原因,它改变了年份日期..

当我做:

date = '2016-10-03'
date = datetime.strptime(date, '%Y-%m-%d')
print date
Run Code Online (Sandbox Code Playgroud)

它工作正确,我得到:

2016-10-03
Run Code Online (Sandbox Code Playgroud)

为什么我在那里添加时间会改变一年?

谢谢

McG*_*ady 5

试试这个:

time = '10:00:00'                                       
date = '2016-10-03'                                     
date = date + ' ' + time                                
print date                                              
print datetime.strptime(date, '%Y-%m-%d %H:%M:%S')      
Run Code Online (Sandbox Code Playgroud)

%y没有世纪的年份为零填充十进制数.
%Y年份,世纪为十进制数.

你似乎只是拼错了.也许你想要的是%Y-%m-%d %H:%M:%S'.

查看日期时间Python的更多详细信息.希望这会有所帮助.