7

我有一个带有时间戳列的 postgre 数据库,并且我有一个 Python 中的 REST 服务,它在数据库中执行查询并将数据返回到 JavaScript 前端以使用flot.

现在我遇到的问题是flot可以使用 JavaScript 的 TIMESTAMP 自动处理日期,但我不知道如何将 Postgre 时间戳转换为 JavaScript TIMESTAMP(是时间戳,如果您不知道答案,则不是日期停止编辑)在 Python 中。我不知道这是否是最好的方法(也许转换可以在 JavaScript 中完成?)。有没有办法做到这一点?

4

2 回答 2

7

在 postgres 中使用date_part或 extract 来返回时间戳。

select date_part('epoch',mydatefield)*1000 from table;

然后你可以直接发送它,注意这epoch是自 1970 年 1 月 1 日以来的秒数,而 JS需要毫秒,因此*1000. 如果您需要它实际上是一个日期,一旦您在 Javascript 中收到它,您可以通过调用将其转换为日期new Date(timestamp_from_pg)

请注意,flot 可以将时间戳用作数字,而无需实际创建Date对象。

于 2013-02-22T19:57:36.523 回答
3

您不能通过 JSON 发送 Python 或 Javascript“日期时间”对象。JSON 只接受更基本的数据类型,如字符串、整数和浮点数。

我通常这样做的方式是将其作为文本发送,使用 Pythondatetime.isoformat()然后在 Javascript 端解析它。

于 2013-02-22T19:48:01.207 回答