2013-06-03 4 views
0

저는 여러 시간대를 사용할 수있는 코드 작업을하고 있습니다. 선택한 로컬 타임 스탬프와 로컬 시간대를 사용하는 함수를 만들어야합니다. 함수의 반환 값은 현지 시간의 UTC 시간 (주어진 현지 시간대의 현지 시간)이어야합니다.(해당 시간대의) 로컬 타임 스탬프를 UTC로 변환하는 방법은 무엇입니까?

나는이 주어진 timestamp with time zone에 대한 특정 시간대 (UTC 내 예)에서 timestamp without time zone을 반환 PostgreSQL의 8.3

답변

3
SELECT Now() AT TIME ZONE 'UTC'; 

작업입니다. PostgreSQL의 docs에서

:

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 
관련 문제