Преобразовать json поле в дату и время в Python - PullRequest
0 голосов
/ 25 февраля 2020

Я получаю данные о времени из ответа API, например '2020-02-25T20:53:06.706401+07:00'. Теперь я хочу конвертировать в %Y-%m-%d %H:%M:%s формат. Но я не знаю точно стандартный формат данных того времени.

Помогите найти формат времени!

Ответы [ 2 ]

2 голосов
/ 25 февраля 2020

В вашем случае вы можете использовать datetime.fromisoformat :

from datetime import datetime

datetime_object = datetime.fromisoformat("2020-02-25T20:53:06.706401+07:00")
print(datetime_object.strftime("%Y-%m-%d %H:%M:%s"))

Печать

2020-02-25 20:53:1582656786

Другие опции:

  • Использовать стороннюю dateutil библиотеку

  • Использовать datetime.strptime , которая анализирует строку в соответствии с форматом

0 голосов
/ 25 февраля 2020

Вы можете преобразовать в объект datetime, а затем при необходимости воссоздать строку в новом формате следующим образом:

from datetime import datetime

d = "2020-02-25T20:53:06.706401+07:00"
dt = datetime.strptime(d, "%Y-%m-%dT%H:%M:%S.%f%z")
# Note the capital S
new = dt.strftime("%Y-%m-%d %H:%M:%S")

Однако значение new здесь потеряло информацию о смещении часового пояса. Я полагаю, это нормально для вас. Я также использовал %S вместо %s, так как я предполагаю, что это действительно то, что вы хотите. Строчные буквы %s на самом деле не имеют смысла, а также не поддерживаются Python.

...