hive获取系统当前时间

获取系统当前时间

  • unix_timestamp()
    hive中获取系统当前时间可以使用unix_timestamp()函数,不过这个函数获取的是bigint值如下
    0: jdbc:hive2://lx01:10000> select unix_timestamp();
    +-------------+
    |     _c0     |
    +-------------+
    |  160886930  |
    +-------------+
    
    从上可以看到获取到了当前系统时间,数值类型是bigint的,但是我们通常是想获取标准时间,这个时候可以和from_unixtime()函数配合使用,得到标准时间。
  • from_unixtime(bigint n,string str)
    from_unixtime()函数和unix_timestamp()函数的组合使用方式如下from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss'),通过这种方式就可以得到标准的系统当前时间,如下所示
    0: jdbc:hive2://lx01:10000> select from_unixtime(unix_timestamp(), 'yyyy-MM-dd HH:mm:ss');
    +----------------------+
    |          _c0         |
    +----------------------+
    |  2020-12-24 21:42:27 |
    +----------------------+
    
    可以看到获取到了我们需要的标准系统当前时间。
  • unix_timestamp(string str)
    上面介绍了如何获取标准的系统时间,当unix_timestamp()函数的括号中不填任何参数时获取的是当前系统时间的时间戳,如果在括号括号中填入标准的'yyyy-MM-dd HH:mm:ss'的字符串就可以得到任意指定的标准时间的时间戳,如下所示
    0: jdbc:hive2://lx01:10000> select unix_timestamp('2010-12-12 12:22:31');
    +-------------+
    |     _c0     |
    +-------------+
    | 1292127751  |
    +-------------+
    
    如果字符串只有年月日,如'2020-01-15',可以通过如下方式获取时间戳
    unix_timestamp('2020-01-15','yyyy-MM-dd'),结果如下所示
    0: jdbc:hive2://lx01:10000> select unix_timestamp('2020-01-15', 'yyyy-MM-dd');
    +-------------+
    |     _c0     |
    +-------------+
    | 1579017600  |
    +-------------+
    
    这样就可以拿到我们想要的时间戳。
  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值