对于以下日期格式,我无法找出strptime
的正确第二个参数
a = datetime.strptime('2017-03-09 14:00:00.000000+0000', '%y-%m-%d %H:%M:%S.%f+%z')
我得到的错误是:
ValueError: time data '2017-03-09 14:00:00.000000+0000' does not match format '%y-%m-%d %H:%M:%S.%f+%z'
有人可以帮帮我吗?
答案 0 :(得分:2)
正确的格式字符串是:
%Y-%m-%d %H:%M:%S.%f%z
下次使用strftime()
使用给定格式编写日期时间时,您可以更轻松地解决这个问题。例如,你原来的:
datetime.datetime.now().astimezone(tz=None).strftime('%y-%m-%d %H:%M:%S.%f+%z')
给出:
17-03-13 22:53:50.010314++0800
从那里可以很容易地看出错误。
答案 1 :(得分:1)
事情是这样的:
import datetime
output_date = datetime.datetime.now(tz = datetime.datetime.now().astimezone().tzinfo).isoformat(timespec='milliseconds')
print(output_date)
给出:
"2021-04-20T16:56:29.800+02:00"
采用 ISO 8601 yyyy-MM-dd'T'HH:mm:ss.SSSXXX 格式。