hive 时间差(天、小时、分、秒)
说明: unix_timestamp() 是hive系统时间,格式是timestamp,精确到秒。 unix_timestamp(ymdhms) 是把时间转换成timestamp格式,是 2018-05-23 07:15:50 格式。 unix_timestamp() - unix_timestamp(ymdhms) 是两个时间转换为timestamp之后相减,timestamp单位是秒,相减之后是两个时间之间相差的秒数。 CAST((unix_timestamp() - unix_timestamp(ymdhms)) % 60 AS int) 是相差的秒数。 CAST((unix_timestamp() - unix_timestamp(ymdhms)) / 60 AS int) % 60 是相差的分钟数。 CAST((unix_timestamp() - unix_timestamp(ymdhms)) / (60 * 60) AS int) % 24 是相差的小时数。 concat(CAST((unix_timestamp() - unix_timestamp(ymdhms)) / (60 * 60 * 24) AS int) 是相差的天数。 查询结果如下: 参考
postgresql 求两个时间差 (相差天数,timestamp类型)
如果是按相差24小时就算1天的话,直接用两个timestamp值相减得到一个interval值,然后获得此interval值的天数部分即可,如下:select date_part('day', '2015-01-15 17:05'::timestamp - '2013-01-14 16:05'::timestamp);如果要按timestamp的日期部分做相差天数,则可以转成date值,然后直接相减,如下:select ('2015-01-15 17:05'::timestamp)::date - ('2015-01-14 19:05'::timestamp)::date;
时间戳通俗理解 时间戳介绍
1、时间戳是指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总秒数。通俗的讲,时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。
2、时间戳(time-stamp)是一个经加密后形成的凭证文档,它包括三个部分:需加时间戳的文件的摘要(digest);DTS收到文件的日期和时间;DTS的数字签名。
3、一般来说,时间戳产生的过程为:用户首先将需要加时间的文件用Hash编码加密形成摘要,然后将该摘要发送到DTS,DTS在加入了收到文件摘要的日期和时间信息后再对该文件加密(数字签名),然后送回用户。
4、书面签署文件的时间是由签署人知己写上的,而数字时间戳则不然,它是有认证单位DTS来加的,以DTS收到文件的时间为依据。