【Hive-Sql】Hive 处理 13 位时间戳得到年月日时分秒(北京时间)

2023-12-20 07:43:43

【Hive-Sql】Hive 处理 13 位时间戳得到年月日时分秒(北京时间)

1)需求

使用 Hive 自带函数 将 13位 时间戳转成年月日时分秒(北京时间),格式样例:‘2023-01-13 12:23:41’

2)实现

select from_utc_timestamp(1682238448915, 'GMT+8');
-- 结果:2023-04-23 16:27:28.915000000,包含毫秒了

select from_unixtime(cast(1682238448915 / 1000 as bigint), 'yyyy-MM-dd HH:mm:ss');
-- 结果:2023-04-23 08:27:28,差了8小时

select from_unixtime(cast(substring(1682238448915, 1, 10) as bigint), 'yyyy-MM-dd HH:mm:ss');
-- 结果:2023-04-23 08:27:28,差了8小时

select date_format(from_utc_timestamp(1682238448915, 'GMT+8'), 'yyyy-MM-dd HH:mm:ss');
// 结果:2023-04-23 16:27:28,就是想要的结果

所以处理办法是:

select date_format(from_utc_timestamp(1682238448915, 'GMT+8'), 'yyyy-MM-dd HH:mm:ss');

文章来源:https://blog.csdn.net/weixin_53543905/article/details/135079219
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。