计算两Date的时间差


/**
* 计算两个时间相差的分钟数
* @param createDate
* @param nowDate
* @return
*/
private long getDateDiffMin(String createDate,String nowDate){

long min=0;
long seconds=0;
long date=0;
long hour=0;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try{
Date crDate = df.parse(createDate);
Date sysDate = df.parse(nowDate);
seconds = (sysDate.getTime() - crDate.getTime()) / 1000;
date = seconds / (24 * 60 * 60); // 相差的天数
//hour = (seconds - date * 24 * 60 * 60) / (60 * 60)+date*24;// 相差的小时数
hour = (seconds%(24 * 60 * 60)) / (60 * 60)+date*24;// 相差的小时数
min = ((seconds%(24 * 60 * 60))%(60 * 60)) / (60)+hour*60;// 相差的分钟数
//min = (seconds - date * 24 * 60 * 60 - hour * 60 * 60) / (60)+hour*60;// 相差的分钟数
//long second = (seconds - date * 24 * 60 * 60 - hour * 60 * 60 - min * 60)+min*60;// 相差的秒数
}catch(Exception e){
e.printStackTrace();
}
return min;

}





[b]
[size=x-large]
[color=red]
请各位看看可以实现否,我试了勉强可以。但不知有什么地方可以改进的
[/color]
[/size]
[/b]
### JavaScript 中计算个 `Date` 对象之间的时间差 在 JavaScript 中,可以通过多种方式来计算个 `Date` 对象之间的差异。一种常见的方式是利用 `getTime()` 方法获得自 1970 年 1 月 1 日以来到指定日期的毫秒数,之后再做相应的运处理。 对于具体的实现过程如下所示: ```javascript var date1 = new Date(); var date2 = new Date("2023-01-01"); var differenceInMilliseconds = date2.getTime() - date1.getTime(); // 获取者的毫秒差距 // 转换成天数 var daysDifference = Math.floor(differenceInMilliseconds / (1000 * 60 * 60 * 24)); console.log(daysDifference); ``` 上述代码展示了如何创建个不同的 `Date` 实例并求取它们间的日历天数差别[^1]。 另外,在实际应用中也可以直接对个 `Date` 类型变量执行减法操作从而立即得到表示者间隔长度的数值(以毫秒计),进而转换成更直观的形式如秒、分或小时等: ```javascript var d1 = new Date('2016/03/28 10:17:22'); var d2 = new Date('2016/03/28 11:17:22'); console.log(parseInt(d2 - d1)); // 输出相差的毫秒数 console.log(parseInt((d2 - d1) / 1000)); // 输出相差的秒数 console.log(parseInt((d2 - d1) / (1000 * 60))); // 输出相差的分钟数 console.log(parseInt((d2 - d1) / (1000 * 60 * 60))); // 输出相差的小时数 ``` 这段脚本同样实现了相同的功能但是采用了更为简洁的方法[^3]。 为了确保结果总是正数而不论哪个日期较早,还可以采用绝对值函数 `Math.abs()` 来包裹时间戳之差的结果[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值