如何在presto中将一个实际上是带有时区的日期的字符串转换为时间戳?

w1jd8yoj  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(421)

示例:2017-12-24 23:59:59.000 pst
这行不通

select date_parse('2017-12-24 23:59:59.000 PST','%Y-%m-%d %T.%f %x')

当然我可以截断tz,它会解决问题

select date_parse(substr('2017-12-24 23:59:59.000 PST',1,23),'%Y-%m-%d %T.%f')

有没有一种方法可以做到这一点而不截断tz?

unhi4e5o

unhi4e5o1#

date_parse 似乎不支持时区,使用 parse_datetime 取而代之的是:

presto> select parse_datetime('2017-12-24 23:59:59.000 PST', 'YYYY-MM-dd HH:mm:ss.SSS z');
                    _col0
---------------------------------------------
 2017-12-24 23:59:59.000 America/Los_Angeles
(1 row)

相关问题