java时间戳 时分秒_orale获取两个时间戳字符串之间的时间差(时分秒)(含java实现)...

@

需求描述

两个时间戳字符串,如2018-11-23 08:59:07 和 2018-11-20 07:58:06,求他们之间的时间差,返回结果为73:01:01(75小时1分1秒)

sql方案

方案一(时分秒)

SELECT

FLOOR(hours) AS 小时,

FLOOR((secs - ( FLOOR(hours)) * 3600 ) / 60) AS 分钟,

secs - (FLOOR(hours)) * 3600 - (FLOOR((secs - ( FLOOR(hours)) * 3600 ) / 60)) * 60 AS 秒

from

(SELECT

secs/60/60 AS hours,

secs/60 AS mins,

secs AS secs

FROM

(select (To_date('2018-11-23 08:59:07' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2018-11-20 07:58:06' , 'yyyy-mm-dd hh24-mi-ss')) * (24 * 60 * 60 ) AS secs FROM DUAL) tt) temp;

1498ec30b074d6ad4c8fd91a4ace9f17.png

2. sql 方案二(天,时,分,秒)

SELECT

str AS 总秒数,

FLOOR((str / 86400 ))AS 天,

floor(MOD(str,86400)/ 3600) AS 小时,

FLOOR(mod(MOD(str,86400) , 3600)/60) AS 分钟,

mod(mod(MOD(str,86400),3600),60) AS 秒

FROM

(select (To_date('2018-11-23 08:59:07' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2018-11-20 07:58:06' , 'yyyy-mm-dd hh24-mi-ss')) * (24 * 60 * 60 ) AS str FROM DUAL) tt;

86400为24 * 60 * 60

767a7b7299209fd441dee1c2bd35b0d4.png

java方案

/** V1.0 Create By dongxiaoyong on 2018/11/23

* description求两个时间戳的时间差,转换为时分秒(天,hh:mm:ss,多少天几小时几分钟几秒)

* @param args

* @return void

*/

public static void main(String[] args){

int str = 25209;//两个时间戳相差的秒数

System.out.println(str / (24 * 60 * 60) + "天");

System.out.println(str % (24 * 60 * 60 ) / (60 * 60) + "小时");

System.out.println(str % (24 * 60 * 60 ) % (60 * 60 ) /60 + "分钟");

System.out.println(str % (24 * 60 * 60) % (60 *60 ) % 60 +"秒") ;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值