time - HIVE:如何计算时间格式的秒差:yyyyMMdd HH:mm:ss
问题描述
如何计算时间格式的秒差:yyyyMMdd HH:mm:ss
?例如,计算20190102 00:01:05
和的秒差20190102 02:14:18
解决方案
使用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
推荐阅读
- reactjs - 我们可以使用按钮来更新状态值吗?
- oracle-sqldeveloper - 执行文件保存时抛出异常
- laravel - 在 Laravel 中使用 Snappy 在 PDF 上渲染 LavaChart
- python - python中的调用和添加函数
- java - Maven 错误:找不到前缀“原型”的插件
- arrays - 仅保留数组 Bash 中的唯一元素
- javascript - javascript在while循环中使用setInterval不起作用
- html - Hover on input to sibling item does not work
- reactjs - React array update
- security - Is VSCode vulnerable to CVE-2020-15999?