【发布时间】:2014-10-30 20:53:25
【问题描述】:
我和同事拼凑了一个小应用程序,它在浏览器中使用一堆 JS,并通过 JSON 与 Tornado (Python3) 服务器通信,服务器使用 mongodb 作为持久数据的后备存储。这对我们俩来说都是第一次。
我们发现困难的是如何在 JS 和 Python 之间交换日期时间信息。我们确实相信我们应该为所有事情使用 UTC 时间。 JSON 没有日期时间文字,因此我们必须以某种方式对其进行编码。我们从 1970 年开始天真地(?)使用 JS 的毫秒概念,并且一直在来回共享大整数。因此,JS 代码现在可能会通过以下方式获取当前的 UTC:
var newTime = new Date().getTime();
在 Python3/mongo 方面,我们希望使用真正的 datetime 对象,因此我们将其转换为:
datetime.datetime.utcfromtimestamp(jsMilliseconds / 1000)
但是当我们必须发回日期时,说 Python3 对象只有一个timestamp() 方法。而往返似乎并没有创造相同的时间。所以我们对此感到很沮丧。
我们正在寻找有经验的人来为我们提供一套好的习语以供在这里使用。当与 JSON 来回传递时,我们应该使用字符串而不是 ms 整数吗?在这种格式之间使用双方推荐的方法是什么?或者我们应该坚持使用整数,然后我们应该使用哪些方法?
【问题讨论】:
标签: javascript python json datetime python-3.x