【问题标题】:HIVE:how to calculate seconds difference of time format: yyyyMMdd HH:mm:ssHIVE:如何计算时间格式的秒差:yyyyMMdd HH:mm:ss
【发布时间】:2019-05-10 06:59:15
【问题描述】:

如何计算时间格式的秒差:yyyyMMdd HH:mm:ss? 比如计算20190102 00:01:0520190102 02:14:18的秒差

【问题讨论】:

    标签: time hive timestamp hiveql datetime-format


    【解决方案1】:

    使用UNIX_TIMESTAMP函数将时间戳转换为秒,然后减去:

    select UNIX_TIMESTAMP('20190102 02:14:18','yyyyMMdd HH:mm:ss') -
           UNIX_TIMESTAMP('20190102 00:01:05','yyyyMMdd HH:mm:ss');
    

    返回:

    7993 秒。

    'HH:mm:ss' 格式的区别:

    select from_unixtime(UNIX_TIMESTAMP('20190102 02:14:18','yyyyMMdd HH:mm:ss') -
           UNIX_TIMESTAMP('20190102 00:01:05','yyyyMMdd HH:mm:ss'), 'HH:mm:ss');
    

    返回:

    02:13:13
    

    您还可以使用解决方案如何使用此答案中提出的显式数学来格式化 'HH:mm:ss' 中的秒数:https://stackoverflow.com/a/57497316/2700344

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      • 2015-02-15
      • 1970-01-01
      • 2023-03-10
      相关资源
      最近更新 更多