В чем разница между двумя форматами времени? - PullRequest
0 голосов
/ 11 июля 2020

Моя цель - использовать однострочный формат времени (UT C).

Я начинаю с двух строковых временных меток:

tf1 = '2020-07-11T17:25:48.675541+0000'
tf2 = '2020-07-11T17:25:49.125175Z'

RFC3339_FORMAT = '%Y-%m-%dT%H:%M:%S.%f%z'

Когда я утверждаю, что они оба находятся в rfc3339, они оба проходят:

from datetiem import datetime

assert datetime.strptime(tf1, RFC3339_FORMAT)
assert datetime.strptime(tf2, RFC3339_FORMAT)

Почему?

В чем разница между tf1 и tf2?

В целом, что такое не так ли здесь с моим утверждением?

1 Ответ

1 голос
/ 11 июля 2020

Спецификатор формата %z в strptime() принимает часовые пояса в формате ±HHMM[SS[.ffffff]], ±HH:MM[:SS[.ffffff]] или Z, что эквивалентно +00:00. См. Примечание (6) в документации .

Обратите внимание, что это не то же самое, что RF C 3339 , которое допускает только ±HH:MM или Z. Часовые пояса без двоеточия соответствуют формату ISO 8601.

...