JavaScript 可以使用 getTime()方法返回两个日期的格林威治时间数值, 将此数值相减即可的到两个日期之间的毫秒数, 通过两个时间差的毫秒数即可得到相差的时间.
在后台传来两个时间字段, 从中解析出两个字符串类型的日期格式 需要在前台解析出两个时间的间隔.
这里采用获取两个日期的时间戳进行计算.
时间戳是指格林威治时间 1970 年 01 月 01 日 00 时 00 分 00 秒 (北京时间 1970 年 01 月 01 日 08 时 00 分 00 秒) 起至现在的总秒数.
所以要求两个时间的间隔只需要将两个时间戳相减, 就能得到两个时间相差的毫秒数, 通过除以 3600*1000 得到小时数, 以此类推.
计算两个日期的时间差:
- DateDifference(faultDate,completeTime){
- // let d1 = new Date(faultDate);
- // let d2 = new Date(completeTime);
- var stime =new Date(faultDate).getTime();
- var etime = new Date(completeTime).getTime();
- var usedTime = etime - stime; // 两个时间戳相差的毫秒数
- var days=Math.floor(usedTime/(24*3600*1000));
- // 计算出小时数
- var leave1=usedTime%(24*3600*1000); // 计算天数后剩余的毫秒数
- var hours=Math.floor(leave1/(3600*1000));
- // 计算相差分钟数
- var leave2=leave1%(3600*1000); // 计算小时数后剩余的毫秒数
- var minutes=Math.floor(leave2/(60*1000));
- // var time = days + "天"+hours+"时"+minutes+"分";
- var time = days;
- return time;
- }
来源: http://www.css88.com/qa/javascript/11150.html