PostgreSQL make_timestamptz() 函数使用指南

PostgreSQL make_timestamptz() 函数从给定的年、月、日、时、分、秒、时区字段创建一个带有时区信息的时间戳值。

make_timestamptz() 语法

这是 PostgreSQL make_timestamptz() 函数的语法:

make_timestamptz(
    year INT
    , month INT
    , day INT
    , hour INT
    , minute INT
    , second DOUBLE PRECISION
    [, timezone TEXT]
) -> TIMESTAMP WITH TIME ZONE

参数

year
必需的。 一个指示年份的整数。
month
必需的。 一个指示月份的整数。
day
必需的。 一个指示天的整数。
hour
必需的。 一个指示小时的整数。
minute
必需的。 一个指示分钟的整数。
second
必需的。 一个指示秒的双精度浮点数。
timezone
可选的。 一个指示时区的字符串。默认值为当前的时区。

返回值

PostgreSQL make_timestamptz() 函数返回一个带有时区信息的时间戳值,它由给定的年、月、日、时、分、秒、时区字段创建而来。

如果年份为负数,则表示日期处于公元前。

make_timestamptz() 示例

这里的几个示例展示了 make_timestampt z() 函数的基本用法。

SELECT make_timestamptz(2022, 5, 15, 20, 55, 25.517606);
       make_timestamptz
-------------------------------
 2022-05-15 20:55:25.517606+08

注意,在这个例子中,当前会话的时区是 Asia/Shanghai

您可以指定通过 timezone 参数指定一个时区,比如:

SELECT make_timestamptz(2022, 5, 15, 20, 55, 25.517606, 'Europe/London');
       make_timestamptz
-------------------------------
 2022-05-16 03:55:25.517606+08