问题描述
我很难将此时间戳字符串2020-09-08T15:30:00+00:00
转换为正确的UTC时间:
如果我这样做:
select to_timestamp('2020-09-08T15:30:00+00:00','YYYY-MM-DD"T"HH24:MI:SS');
我收到2020-09-08 15:30:00.000000 -04:00
,它在错误的时区。
如何解析字符串的+00:00部分?我基于AWS document尝试了TZ/OF
,但不允许添加它们:
[0A000][500310] [Amazon](500310) Invalid operation: "TZ"/"tz" not supported;
,而我正在这样做:select to_timestamp('2020-09-08T15:30:00+00:00','YYYY-MM-DD"T"HH24:MI:SS+TZ');
解决方法
不确定为什么要尝试使用to_timestamp进行转换,因为在您的示例中,该转换仅已经UTC/GMT
。
我过去使用过这种方式,希望它也对您有用。
#below is something saved in IST(+5:30) to GMT
SELECT CONVERT_TIMEZONE('GMT','2020-09-08 15:30:00+05:30');
类似地,可以将其转换为美国/纽约时区。
SELECT CONVERT_TIMEZONE('America/New_York','2020-09-08 15:30:00+05:30') ;