我试图将日期字符串转换为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)
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)