hive中获取日期与时间戳和当前时间戳

hive中获取日期与时间戳和当前时间戳

hive中的函数,日期转时间戳代码,

select unix_timestamp('2020-01-16 17:02:00');

+-------------+
|     _c0     |
+-------------+
| 1579212120  |
+-------------+

hive中的时间转时间戳函数(不加引号)第二个参数为默认;

select from_unixtime(1579212120,'yyyy-mm-dd hh:mm:ss') ;

+----------------------+
|         _c0          |
+----------------------+
| 2020-01-16 17:02:00  |
+----------------------+

hive中获取设备中的当前时间的时间戳信息

select unix_timestamp() ;

+-------------+
|     _c0     |
+-------------+
| 1579196036  |
+-------------+

知识拓展:

hive中的时间戳精确到秒级10位,而scala和java中的时间戳是精确到毫秒级的13位所以我们获取scala中的时间戳要除以1000才能被hive识别
当我们在scala中求出时间往hive中添加的时候

select from_unixtime(1575430219000/1000) ;//会报错在hive中这样除会得到一个double类型的值,所以我们要用cast强转数据类型
我们添加一个cast强转
select from_unixtime(cast(1575430219000/1000 as bigint)) ;

+----------------------+
|         _c0          |
+----------------------+
| 2019-12-03 22:30:19  |
+----------------------+

获取时间戳的年份

select year(from_unixtime(cast(1575430219000/1000 as bigint))) ;

+-------+
|  _c0  |
+-------+
| 2019  |
+-------+

获取时间戳的月份

select month(from_unixtime(cast(1575430219000/1000 as bigint))) ;

+------+
| _c0  |
+------+
| 12   |
+------+

获取时间戳的天

select day(from_unixtime(cast(1575430219000/1000 as bigint))) ;

+------+
| _c0  |
+------+
| 3    |
+------+
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值