js中两个日期相减得到天时分秒

/**
 * 两个时间相减
 * @param starttime
 * @param endtime
 * @returns
 */
function GetDateDiff(starttime,endtime,type)
{
  if( starttime == null || endtime == null){
  return "";
 }
 var ed = endtime;
 var sd = starttime ;
 if(type==1){
    ed = ed+":00";
 }else if(type ==2){
  sd = sd +":00";
 }
 //此处是解决浏览器兼容性问题,Firefox只能认识2015/06/05格式
    var sd2 = sd.replace(/-/g,"/");
    var ed2 = ed.replace(/-/g,"/");
 var startTime = new Date(sd2);
 var endTime = new Date(ed2); 
 var result = "";
 
 var date3=endTime.getTime()-startTime.getTime(); //时间差的毫秒数
 
 //计算出相差天数
 var days=Math.floor(date3/(24*3600*1000));
 
 result += days > 0 ? days + "天" : "0天"; 
 //计算出小时数
 var leave1=date3%(24*3600*1000);     //计算天数后剩余的毫秒数
 var hours=Math.floor(leave1/(3600*1000));
 
 result += hours > 0 ? hours + "小时" : "0小时";
 
 //计算相差分钟数
 var leave2=leave1%(3600*1000);        //计算小时数后剩余的毫秒数
 var minutes=Math.floor(leave2/(60*1000));
 
 result += minutes > 0 ? minutes + "分钟" : "0分钟";
 //计算相差秒数
// var leave3=leave2%(60*1000);          //计算分钟数后剩余的毫秒数
// var seconds=Math.round(leave3/1000);
// 
// result += seconds > 0 ? seconds + "秒" : ""; 
 
 return result == "" ? "" : result;
};

你可能感兴趣的:(js)