Python将日期字符串转换为datetime

use*_*619 2 python datetime

我试图将日期字符串转换为Python但得到错误 -

串: '1986-09-22T00:00:00'

dob_python = datetime.strptime('1986-09-22T00:00:00' , '%Y-%m-%d%Z%H-%M-%S').date()
Run Code Online (Sandbox Code Playgroud)

错误:-

ValueError: time data '1986-09-22T00:00:00' does not match format '%Y-%m-%d%Z%H-%M-%S'
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 6

T不是时区.它只是一个分隔符.不要%Z用来尝试解析它,使用文字T.你的时间分隔符也必须匹配; 你需要寻找:冒号,而不是破折号:

dob_python = datetime.strptime('1986-09-22T00:00:00', '%Y-%m-%dT%H:%M:%S').date()
#                                                              ^  ^  ^
Run Code Online (Sandbox Code Playgroud)

演示:

>>> from datetime import datetime
>>> datetime.strptime('1986-09-22T00:00:00', '%Y-%m-%dT%H:%M:%S').date()
datetime.date(1986, 9, 22)
Run Code Online (Sandbox Code Playgroud)