将postgresql时间戳转换为Python中的JavaScript时间戳

时间:2013-02-22 19:33:01

标签: javascript python postgresql flot

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

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

2 个答案:

答案 0 :(得分:7)

使用date_part或postgres中的提取返回时间戳。

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

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

请注意,flot可以作为数字使用时间戳,无需实际创建new Date(timestamp_from_pg)个对象。

答案 1 :(得分:2)

您无法通过JSON发送Python或Javascript“datetime”对象。 JSON只接受更多基本数据类型,如字符串,Ints和Floats。

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