Как разобрать str (my_datetime) с помощью strptime?


person wim    schedule 04.05.2017    source источник


Ответы (1)


Обратите внимание, что str(d) задокументирован как эквивалент d.isoformat(' ') . Это начинается с %Y-%m-%d %H:%M:%S (2017-01-01 00:00:00), но затем:

  • Либо ничего не имеет, либо .%f, в зависимости от того, отлична ли часть микросекунд от нуля.
  • Либо ничего не имеет, либо смещение вроде +HH:MM, в зависимости от того, учитывает ли экземпляр часовой пояс.

datetime.strptime не поддерживает необязательные части, поэтому нет ни одного format параметра, который мог бы соответствовать всем возможным выходным данным.

В Python 3.7+ вы можете использовать datetime.fromisoformat для синтаксического анализа вывода datetime.isoformat. Предоставлено Полом Гэнсслом в issue15873.

person jonrsharpe    schedule 04.05.2017
comment
Примечание: одна деталь немного устарела, strptime% z теперь поддерживает двоеточие в смещении (новое в Python 3.7) - person wim; 23.10.2020