如何在PostgreSQL中获取当前时间戳和相对时间戳?


通常,您需要在PostgreSQL中获取当前时间戳。您可以按如下方式执行此操作:

SELECT current_timestamp

它将输出当前时间。输出将如下所示:

2021-01-30 15:52:14.738867+00

现在,如果您想获取相对时间而不是当前时间怎么办?例如,如果您想获取当前时间之前5小时对应的时间,您可以使用时间间隔来获取。

SELECT current_timestamp - interval '5 hours'

输出每次都会不同。在撰写本文时,输出为:

2021-01-30 10:57:13.28955+00

您也可以对日期而不是时间戳执行这些操作

SELECT current_date

输出

2021-01-30
SELECT current_date + interval '3 days'

输出

2021-02-02 00:00:00

请注意,此处的输出也包含时间部分。因为时间间隔比较是在时间戳上进行的。

要仅获取日期部分,您可以运行以下命令:

SELECT (current_date + interval '3 days').date

输出

2021-02-02

您甚至可以创建复合时间间隔语句。例如,在印度,与UTC的时区差异为5小时30分钟。因此,要获取IST时间:

SELECT current_timestamp + interval '5 hours 30 minutes'

输出

2021-01-30 21:31:23.198988+00

您可以在此处阅读有关PostgreSQL中日期和时间操作的更多信息:https://postgresql.ac.cn/docs/9.1/functions-datetime.html

更新于: 2021年2月2日

2K+ 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.