我正在使用多个时区可用的代码。我需要创建一个函数,该函数采用选定的本地时间戳以及本地时区。函数的返回值应该是本地时间的UTC时间(给定本地时区的本地时间)。
我正在研究 PostgreSQL 8.3
我正在使用多个时区可用的代码。我需要创建一个函数,该函数采用选定的本地时间戳以及本地时区。函数的返回值应该是本地时间的UTC时间(给定本地时区的本地时间)。
我正在研究 PostgreSQL 8.3
SELECT Now() AT TIME ZONE 'UTC';
这将timestamp without time zone
在给定的指定时区(在我的示例中为 UTC)返回timestamp with time zone
。
来自 PostgreSQL文档:
SELECT TIMESTAMP '2001-02-16 20:38:40' AT TIME ZONE 'MST';
Result: 2001-02-16 19:38:40-08
SELECT TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40-05' AT TIME ZONE 'MST';
Result: 2001-02-16 18:38:40
您可以从以下位置获取时区列表pg_timezone_names
:
select * from pg_timezone_names limit 5
name;abbrev;utc_offset;is_dst
----------------------
PRC;CST;08:00:00;f
Asia/Brunei;BNT;08:00:00;f
Asia/Ujung_Pandang;CIT;08:00:00;f
Asia/Ust-Nera;VLAT;11:00:00;f
Asia/Phnom_Penh;ICT;07:00:00;f