我有一个带时间戳列的postgre数据库,我在Python中有一个REST服务,它在数据库中执行查询并将数据返回到JavaScript前端,以使用flot
绘制图形。
现在我遇到的问题是flot
可以使用JavaScript的TIMESTAMP自动处理日期,但我不知道如何将Postgre时间戳转换为JavaScript TIMESTAMP(是时间戳,而不是日期停止编辑,如果你不知道答案)在Python中。我不知道这是否是最佳方法(也许转换可以在JavaScript中完成?)。有没有办法做到这一点?
答案 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端解析它。