javascript计算时间差 天 小时

1、可根据选择,显示 天  ,小时

var d1="2007-07-22 14";
var d2="2007-07-25 13";
var date1=null;
var date2=new Date();
function Swith(strdate){
var strYear=strdate.substring(0,4);
var strMonth=strdate.substring(5,7); 
var strDay=strdate.substring(8,10);
var strHours=strdate.substring(11,13);
var strMinutes=strdate.substring(14,17);
return new Date(strYear,strMonth,strDay,strHours,strMinutes); 
}
function GetTime(dateM,datetype){
     var s;                            // 声明变量。
     var MinMilli = 1000 * 60;         // 初始化变量。
     var HrMilli = MinMilli * 60;
     var DyMilli = HrMilli * 24;
     s="";
     if (datetype=="d"){
    s +=Math.round(Math.abs(dateM/DyMilli))+"天";
     }else if (datetype=="h"){
    s +=Math.round(Math.abs(dateM/HrMilli))+"小时"
     }else if (datetype=="m"){
    s +=Math.round(Math.abs(dateM/MinMilli))+"分";
     } else{
    s +=Math.round(Math.abs(dateM/1000))+"秒"
     }
     return(s);                        // 返回结果。
}

alert(GetTime((Date.parse(Swith(d1))-Date.parse(Swith(d2))),"d"));

2、显示 多少天 多少小时

var d1="2007-07-22 14";
var d2="2007-07-25 13";

function Swith(strdate){
var strYear=strdate.substring(0,4);
var strMonth=strdate.substring(5,7); 
var strDay=strdate.substring(8,10);
var strHours=strdate.substring(11,13);
var strMinutes=strdate.substring(14,17);
return new Date(strYear,strMonth,strDay,strHours,strMinutes); 
}

function GetTime0(dateM){
    var MinMilli = 1000 * 60;         // 初始化变量。
    var HrMilli = MinMilli * 60;
    var DyMilli = HrMilli * 24;
    //计算出相差天数
   var days=Math.floor(dateM/(DyMilli));
     
    //计算出小时数
    var leave1=dateM%(DyMilli); //计算天数后剩余的毫秒数
    var hours=Math.floor(leave1/(HrMilli));
    //计算相差分钟数
    var leave2=leave1%(HrMilli);        //计算小时数后剩余的毫秒数
    var minutes=Math.floor(leave2/(MinMilli));
    //计算相差秒数
    var leave3=leave2%(MinMilli);      //计算分钟数后剩余的毫秒数
    var seconds=Math.round(leave3/1000);
    return days+"天"+hours+"小时";
 }
alert(GetTime0((Date.parse(Swith(d2))-Date.parse(Swith(d1)))));



你可能感兴趣的:(javascript)