我想知道是否可以用JSON将日期写为DateTime格式。 我已经在互联网上关注了很多链接,但是到处都将日期转换为string(str)以便将其写入JSON文件。
我使用了以下代码:
[zk: localhost:2181(CONNECTED) 20] ls /
[fromInspector, zookeeper, fromcli]
[zk: localhost:2181(CONNECTED) 21] get /fromcli
cZxid = 0x23
ctime = Fri Sep 07 11:11:39 IRDT 2018
mZxid = 0x23
mtime = Fri Sep 07 11:11:39 IRDT 2018
pZxid = 0x23
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 0
[zk: localhost:2181(CONNECTED) 22] get /fromInspector
cZxid = 0x24
ctime = Fri Sep 07 11:12:01 IRDT 2018
mZxid = 0x24
mtime = Fri Sep 07 11:12:01 IRDT 2018
pZxid = 0x24
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 0
然后将其称为:
import json
fileName='json_output.json'
def writeToJSONFile(data):
with open(fileName, 'a+') as fp:
json.dump(data, fp, indent=4, default=str)
上面的代码能够将日期以字符串格式写入JSON文件。
我已经通过链接了:
How to overcome "datetime.datetime not JSON serializable"?
JSON datetime between Python and JavaScript
我只想知道是否有可能将日期存储为日期时间格式?
答案 0 :(得分:0)
简单的答案是“否”,JSON没有本地日期时间表示,因此它将显示为字符串;但是,如果您使用一致同意的标准,则接收方应用程序可以选择将该变量解析为datetime对象。如果您不知道他们可能会同意哪种格式,我建议您将其设置为标准ISO 8601(UTC组合的日期和时间),这样接收方就可以对其进行解析,并且无论时区如何都保留正确的值