Sql 转换为本地时区
我正在尝试从可用的时区名称和时区获取本地时间戳 时区='19:59:00' TimeZoneName='EST' 需要本地时间吗?在oracle中,我们有一个新的_time()函数,用于将日期从时区1转换为时区2中的日期 示例Sql 转换为本地时区,sql,oracle,time,plsql,zone,Sql,Oracle,Time,Plsql,Zone,我正在尝试从可用的时区名称和时区获取本地时间戳 时区='19:59:00' TimeZoneName='EST' 需要本地时间吗?在oracle中,我们有一个新的_time()函数,用于将日期从时区1转换为时区2中的日期 示例 select NEW_TIME (sysdate, 'EST', 'MST') from dual 上述查询将从EST转换为MST 输出 December, 09 2015 16:07:42 有关更多信息和您所说的EST是什么意思 SELECT tzabbrev, T
select NEW_TIME (sysdate, 'EST', 'MST')
from dual
上述查询将从EST转换为MST
输出
December, 09 2015 16:07:42
有关更多信息和您所说的
EST
是什么意思
SELECT tzabbrev, TZ_OFFSET(tzname), tzname
FROM V$TIMEZONE_NAMES tz
WHERE tzabbrev = 'EST'
ORDER BY 1,2,3;
TZABBREV TZ_OFFSET(TZNAME) TZNAME
EST +10:00 Australia/Brisbane
EST +10:00 Australia/Lindeman
EST +10:00 Australia/Queensland
EST +10:30 Australia/Broken_Hill
EST +10:30 Australia/Yancowinna
EST +11:00 Australia/ACT
EST +11:00 Australia/Canberra
EST +11:00 Australia/Hobart
EST +11:00 Australia/LHI
EST +11:00 Australia/Lord_Howe
EST +11:00 Australia/Melbourne
EST +11:00 Australia/NSW
EST +11:00 Australia/Sydney
EST +11:00 Australia/Tasmania
EST +11:00 Australia/Victoria
EST -05:00 America/Cayman
EST -05:00 America/Detroit
EST -05:00 America/Fort_Wayne
EST -05:00 America/Grand_Turk
EST -05:00 America/Indiana/Indianapolis
EST -05:00 America/Indiana/Marengo
EST -05:00 America/Indiana/Vevay
EST -05:00 America/Indianapolis
EST -05:00 America/Iqaluit
EST -05:00 America/Jamaica
EST -05:00 America/Kentucky/Louisville
EST -05:00 America/Louisville
EST -05:00 America/Montreal
EST -05:00 America/New_York
EST -05:00 America/Panama
EST -05:00 America/Thunder_Bay
EST -05:00 Canada/Eastern
EST -05:00 EST
EST -05:00 EST5EDT
EST -05:00 Jamaica
EST -05:00 US/East-Indiana
EST -05:00 US/Eastern
EST -05:00 US/Michigan
EST -06:00 America/Cancun
EST -06:00 America/Chicago
EST -06:00 America/Indiana/Knox
EST -06:00 America/Indiana/Petersburg
EST -06:00 America/Indiana/Vincennes
EST -06:00 America/Knox_IN
EST -06:00 America/Managua
EST -06:00 America/Rankin_Inlet
EST -06:00 CST
EST -06:00 US/Central
EST -06:00 US/Indiana-Starke
EST -07:00 America/Cambridge_Bay
《新时代》是一个以美国为中心的功能,在世界其他地方并不好。您可以通过以下方式获得所需:
DECLARE
l_time CONSTANT TIMESTAMP(8) WITH TIME ZONE := TO_TIMESTAMP_TZ( '01/01/2017 19:59:00 ' || TZ_OFFSET('EST'), 'fmDDfm/MM/YYYY fmHH24fm:MI:SS TZH:TZM' );
BEGIN
dbms_output.put_line( 'EST Time->' || l_time );
dbms_output.put_line( 'Local Time->' || l_time AT TIME ZONE SESSIONTIMEZONE ); -- Assumes session is local
END;
请注意,时间戳必须包含日期上下文
Output:
EST Time->01-JAN-17 07.59.00.00000000 PM -05:00
Local Time->02-JAN-17 08.59.00.000000000 AM +08:00
从dual中选择localtimestamp?你的问题不清楚…我需要根据当地时区找出当地时间戳假设“EST”或“亚洲/曼谷”是一个时区,当地时间是多少?你的9时区是什么?目前的EST是9时区,但可能是任何可用的时区