0


Hive 处理 13 位时间戳,得到年月日时分秒(北京时间)

Hive 版本:3.1.2

1、需求:

使用 Hive 自带函数 将 13位 时间戳: 1682238448915 转成 今天的时间(北京时间),格式样例:‘2023-04-23 16:27:28’

2、结果:

1

3、源码:

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/frdevolcqzyxynjds/article/details/130328008
版权归原作者 闭关苦炼内功 所有, 如有侵权,请联系我们删除。

“Hive 处理 13 位时间戳,得到年月日时分秒(北京时间)”的评论:

还没有评论