如何在 postgresql 中的日期中添加加号和毫秒?

how to add a plus sign and milliseconds to a date in postgresql?

日期像 2021-07-23

预期的输出是这样的 2021-07-24 00:00:00+08 注意 +08 ?

我试过下面这样,但我没有得到加号

s_table.school_date + INTERVAL '1 day'

知道如何使 +08 出现吗?

这是包含时区的时间。

在 Postgres 中尝试 运行 以下内容,它会 return 为您提供 +- 之后的时区日期时间,具体取决于您所在的位置。

SELECT NOW();

编辑 01:

试试下面的代码:

s_table.school_date::timestamptz + INTERVAL '1 day'

我没能测试它,但你试过将该日期转换为 timestampz 吗?

请参阅 this page from postgresql 有关不同时间戳类型的教程。

所以你可以试试:

(s_table.school_date + INTERVAL '1 day')::timestampz

将当前值转换为带时区的时间戳。

如果返回的时区不正确,您可以使用 SET timezone='America/Los_Angeles' 或使用 SHOW timezone; 查找当前数据库使用的时区。您还可以使用 SELECT * FROM pg_timezone_names; 查看数据库的所有时区。

我从 this resource 获得了时区特定信息。

我肯定会首先测试在事务中设置时区,因为我担心它会为您的整个数据库设置时区,这可能会影响数据库中发生的其他过程/查询。

希望对您有所帮助!抱歉,我无法在发送此信息之前先尝试一下。

编辑:看来我有点慢了!很高兴你想通了:)