Python 3.x 使用毫秒和时区保存日期时间-python
对于以下日期格式,我无法找出正确的第二个参数Python 3.x 使用毫秒和时区保存日期时间-python,python-3.x,strptime,Python 3.x,Strptime,对于以下日期格式,我无法找出正确的第二个参数strtime 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' 有人能帮我吗?正确的格式字符串是: %Y-
strtime
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'
有人能帮我吗?正确的格式字符串是:
%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
从这里很容易看出问题所在。正确的格式字符串是:
%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
从那里很容易看出问题所在。事情就是这样的:
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'HH:MM:ss.SSSXXX格式。它是这样运行的:
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'HH:MM:ss.SSSXXX格式