Postgresql 如何将(给定时区的)本地时间戳转换为UTC?

Postgresql 如何将(给定时区的)本地时间戳转换为UTC?,postgresql,Postgresql,我在一个有多个时区的代码中工作。我需要创建一个函数,该函数采用所选的本地时间戳以及本地时区。函数的返回值应为本地时间的UTC时间(给定本地时区的本地时间) 我正在研究PostgreSQL 8.3 SELECT Now() AT TIME ZONE 'UTC'; 对于给定的带时区的时间戳,这将返回指定时区(在我的示例中为UTC)的不带时区的时间戳 来自PostgreSQL: 您可以从pg\u timezone\u name获取时区列表: select * from pg_timezone_nam

我在一个有多个时区的代码中工作。我需要创建一个函数,该函数采用所选的本地时间戳以及本地时区。函数的返回值应为本地时间的UTC时间(给定本地时区的本地时间)

我正在研究PostgreSQL 8.3

SELECT Now() AT TIME ZONE 'UTC';
对于给定的
带时区的时间戳
,这将返回指定时区(在我的示例中为UTC)的
不带时区的时间戳

来自PostgreSQL:

您可以从
pg\u timezone\u name
获取时区列表:

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
对于给定的
带时区的时间戳
,这将返回指定时区(在我的示例中为UTC)的
不带时区的时间戳

来自PostgreSQL:

您可以从
pg\u timezone\u name
获取时区列表:

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