Можно ли записать дату в формате DateTime в JSON, используя Python, без преобразования ее в строку - PullRequest
0 голосов
/ 07 сентября 2018

Я хочу знать, есть ли способ записать дату в формате DateTime в формате JSON. Я следил за многими ссылками в Интернете, но везде дата преобразуется в строку (str), чтобы записать ее в файл JSON.

Я использовал следующий код:

import json
fileName='json_output.json'
def writeToJSONFile(data):
    with open(fileName, 'a+') as fp:
        json.dump(data, fp, indent=4, default=str)

затем вызывая его как:

from datetime import datetime
date_value="09-23-2019"
date_time = datetime.strptime(date_value,'%m-%d-%Y')
date_dict={"eventDate":date_time}
writeToJSONFile(date_dict)

Приведенный выше код может записывать дату в файл JSON, но в строковом формате.

Я уже перешел по ссылке:

Как преодолеть «datetime.datetime, не JSON serializable»?

JSON datetime между Python и JavaScript

Я просто хочу знать, возможно ли вообще сохранить дату как формат даты и времени?

1 Ответ

0 голосов
/ 07 сентября 2018

Простой ответ - Нет, JSON не имеет собственного представления даты и времени, поэтому он будет отображаться в виде строки; однако, если вы используете согласованный стандарт, принимающее приложение может проанализировать переменную в объект datetime, если они захотят. Если вы не знаете, с каким форматом они могут согласиться, я бы порекомендовал просто сделать его стандартом ISO 8601 (комбинированная дата и время в формате UTC), чтобы он мог быть проанализирован получателем и сохранить правильное значение независимо от часового пояса. .

...