Почему Python 3 находит эту дату ISO8601: «2019-04-05T16: 55: 26Z» недействительной? - PullRequest
2 голосов
/ 05 апреля 2019

Я поставляю "2019-04-05T16:55:26Z" для Python 3 datetime.datetime.fromisoformat и получаю Invalid isoformat string, хотя та же самая строка работает без Z. ISO8601 допускает Z - https://en.wikipedia.org/wiki/ISO_8601

$ python3
Python 3.7.2 (default, Feb 12 2019, 08:15:36)

>>> datetime.fromisoformat("2019-04-05T16:55:26Z")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: Invalid isoformat string: '2019-04-05T16:55:26Z'

>>> datetime.fromisoformat("2019-04-05T16:55:26")
datetime.datetime(2019, 4, 5, 16, 55, 26)

1 Ответ

2 голосов
/ 05 апреля 2019

Я только что проверил документацию по Python 3 , и он не предназначен для анализа произвольных строк формата ISO8601:

Внимание : Это не поддерживаетРазбор произвольных строк ISO 8601 - он предназначен только как обратная операция datetime.isoformat().

...