NEW_TIME
将时间戳值从一个时区转换为另一个时区并返回一个 TIMESTAMP。
行为类型
不可变语法
NEW_TIME( 'timestamp' , 'timezone1' , 'timezone2')
参数
- timestamp
- 要转换的时间戳符合以下格式之一:
-
DATE
-
可转换为
TIMESTAMP
的字符串,例如May 24, 2012 10:00
。
- timezone1
timezone2 - 指定源时区和目标时区,
/opt/vertica/share/timezonesets
中定义的字符串之一。例如:-
GMT
: 格林威治标准时间 -
AST
/ADT
: 大西洋标准/夏令时 -
EST
/EDT
: 东部标准/夏令时 -
CST
/CDT
: 中部标准/夏令时 -
MST
/MDT
: 山区标准/夏令时 -
PST
/PDT
: 太平洋标准/夏令时
-
示例
将指定的时间从东部标准时间 (EST) 转换为太平洋标准时间 (PST):
=> SELECT NEW_TIME('05-24-12 13:48:00', 'EST', 'PST');
NEW_TIME
---------------------
2012-05-24 10:48:00
(1 row)
将 2012 年 1 月凌晨 1:00 从 EST 转换为 PST:
=> SELECT NEW_TIME('01-01-12 01:00:00', 'EST', 'PST');
NEW_TIME
---------------------
2011-12-31 22:00:00
(1 row)
将 EST 当前时间转换为 PST:
=> SELECT NOW();
NOW
-------------------------------
2016-12-09 10:30:36.727307-05
(1 row)
=> SELECT NEW_TIME('NOW', 'EDT', 'CDT');
NEW_TIME
----------------------------
2016-12-09 09:30:36.727307
(1 row)
以下示例以格林威治标准时间返回“公元前 45 年”,并将其转换为纽芬兰标准时间:
=> SELECT NEW_TIME('April 1, 45 BC', 'GMT', 'NST')::DATE;
NEW_TIME
---------------
0045-03-31 BC
(1 row)