为了账号安全,请及时绑定邮箱和手机立即绑定

Python和JavaScript之间的JSON日期时间

Python和JavaScript之间的JSON日期时间

慕的地6264312 2019-07-22 14:39:30
Python和JavaScript之间的JSON日期时间我想从Python中发送一个序列化形式的datetime.datetime对象杰森并在JavaScript中使用JSON进行反序列化。做这件事最好的方法是什么?
查看完整描述

3 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

假设您有一个Python datetime对象,d,使用datetime.Now()创建。它的价值是:

datetime.datetime(2011, 5, 25, 13, 34, 5, 787000)

您可以将其序列化为JSON,作为ISO 8601日期时间字符串:

import json    
json.dumps(d.isoformat())

示例datetime对象将序列化为:

'"2011-05-25T13:34:05.787000"'

一旦在Javascript层接收到此值,就可以构造Date对象:

var d = new Date("2011-05-25T13:34:05.787000");

从Javascript 1.8.5开始,Date对象有一个toJSON方法,它以标准格式返回字符串。因此,要将上面的Javascript对象序列化回JSON,命令如下:

d.toJSON()

这会让你:

'2011-05-25T20:34:05.787Z'

这个字符串一旦在Python中接收到,就可以反序列化回datetime对象:

datetime.strptime('2011-05-25T20:34:05.787Z', '%Y-%m-%dT%H:%M:%S.%fZ')

这将导致以下datetime对象,该对象与您开始使用的对象相同,因此是正确的:

datetime.datetime(2011, 5, 25, 20, 34, 5, 787000)


查看完整回答
反对 回复 2019-07-22
  • 3 回答
  • 0 关注
  • 980 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信