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

Converting postgresql timestamp to JavaScript timestamp in Python

本文关键字:时间戳 转换 JavaScript postgresql Python 中将      更新时间:2023-09-26

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

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

在 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对象。

你不能通过 JSON 发送 Python 或 Javascript 的"datetime"对象。JSON 只接受更基本的数据类型,如字符串、整数和浮点数。

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