我正在尝试将具有特定时区(不是utc)的字符串转换为unix时间戳。
从utc中的字符串转换可以很好地用于 unix_timestamp
功能:
hive> select unix_timestamp("2018-12-31 23:59:59 UTC", "yyyy-MM-dd HH:mm:ss z") as unixtime;
unixtime
1546300799
但是,当我简单地更改时区(为另一个有效的tz名称)时,它不起作用:
hive> select unix_timestamp("2018-12-31 23:59:59 America/Sao_Paulo", "yyyy-MM-dd HH:mm:ss z") as unixtime;
unixtime
NULL
有什么建议吗?
1条答案
按热度按时间gudnpqoy1#
你的问题是时区本身,我的理解是,没有直接的方法使用java cannonical id(“美国/圣保罗”)来实现这一点。正确的日期格式应该是