<script language="javascript">
var ot="16:10";
var nt="17:50";
var stst=/^(\d*)(?:\:)\d*/;
var sts1t=/\d*(?:\:)(\d*)/;
stst.test(ot);
at=RegExp.$1;
stst.test(nt);
bt=RegExp.$1;
alert(bt-at+"小时");
sts1t.test(ot);
at=RegExp.$1;
sts1t.test(nt);
bt=RegExp.$1;
alert(bt-at+"秒");
</script>

解决方案 »

  1.   

    var d1 = new Date("2008/04/20 " + daiSyaH + ":" + daiSyaM);  
       var d2 = new Date("2008/04/20 16:00");  
       var t = 120 - (d1-d2)/(60*1000);
    var hour = 0,minu = 0;
    while(t >= 60)
    {
    hour++;
    t = t - 60;
    }
    if(t < 10)
    {
    t = "0" + t;
    }
    if(hour < 10)
    {
    hour = "0" + hour;
    }
      

  2.   

    <script>
       //昨天十点距现在小时数
       var oDate1=new Date(2008,3,22,10,0,0);
       var oFunc=function(){
           var oDate2=new Date();
       var nTimers=oDate2-oDate1;
       var nHour=parseInt(nTimers/(1000*3600));
       var nMinu=parseInt((nTimers%(1000*3600))/(1000*60))
       alert(nHour+" hours and "+nMinu+" minutes");
       }
       oFunc();
    </script>
      

  3.   


    //+---------------------------------------------------   
    //| 比较日期差 dtEnd 格式为日期型或者 有效日期格式字符串   
    //+---------------------------------------------------   
    Date.prototype.DateDiff = function(strInterval, dtEnd) {    
        var dtStart = this;   
        if (typeof dtEnd == 'string' )//如果是字符串转换为日期型   
        {    
            dtEnd = StringToDate(dtEnd);   
        }   
        switch (strInterval) {    
            case 's' :return parseInt((dtEnd - dtStart) / 1000);   
            case 'n' :return parseInt((dtEnd - dtStart) / 60000);   
            case 'h' :return parseInt((dtEnd - dtStart) / 3600000);   
            case 'd' :return parseInt((dtEnd - dtStart) / 86400000);   
            case 'w' :return parseInt((dtEnd - dtStart) / (86400000 * 7));   
            case 'm' :return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);   
            case 'y' :return dtEnd.getFullYear() - dtStart.getFullYear();   
        }   
    }   
    //+---------------------------------------------------   
    //| 字符串转成日期类型    
    //| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd   
    //+---------------------------------------------------   
    function StringToDate(DateStr)   
    {    
       
        var converted = Date.parse(DateStr);   
        var myDate = new Date(converted);   
        if (isNaN(myDate))   
        {    
            //var delimCahar = DateStr.indexOf('/')!=-1?'/':'-';   
            var arys= DateStr.split('-');   
            myDate = new Date(arys[0],--arys[1],arys[2]);   
        }   
        return myDate;   
    }
      

  4.   


       
    //+---------------------------------------------------   
    //| 日期计算   
    //+---------------------------------------------------   
    Date.prototype.DateAdd = function(strInterval, Number) {    
        var dtTmp = this;   
        switch (strInterval) {    
            case 's' :return new Date(Date.parse(dtTmp) + (1000 * Number));   
            case 'n' :return new Date(Date.parse(dtTmp) + (60000 * Number));   
            case 'h' :return new Date(Date.parse(dtTmp) + (3600000 * Number));   
            case 'd' :return new Date(Date.parse(dtTmp) + (86400000 * Number));   
            case 'w' :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));   
            case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());   
            case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());   
            case 'y' :return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());   
        }   
    }   
      

  5.   

    <script>
    function CLASS_OY_TIME(){
    this.birthday = new Date("August 8, 2008 20:00:00");
    this.today = new Date();
    this.timepoor = (this.birthday.getTime()-this.today.getTime());
    this.msperday = 24*60*60*1000;
    this.day = function(){
    return this.timepoor/this.msperday;
    }
    }
    CLASS_OY_TIME.prototype.GET_DAY = function(){
    var t,s,f,m;
    var e_t,e_s,e_f,e_m;
    e_t = this.day();
    t = Math.floor(e_t);
    e_s = (e_t-t)*24;
    s = Math.floor(e_s);
    e_f = (e_s-s)*60;
    f = Math.floor(e_f);
    e_m = (e_f-f)*60;
    m = Math.floor(e_m);
    return {
    day_t:t,
    day_s:s,
    day_f:f,
    day_m:m
    }
    }
    CLASS_OY_TIME.prototype.SET_TIME = function(){
    var $2 = document.getElementById("time_2");
    var tsfm = this.GET_DAY();
    if($2){$2.innerHTML = "<span>"+tsfm.day_t+"</span>天<span>"+tsfm.day_s+"</span>小时<span>"+tsfm.day_f+"</span>分<span>"+tsfm.day_m+"</span>秒";}
    }
    function Time(){
    var a = new CLASS_OY_TIME()
    a.SET_TIME()
    window.setTimeout("Time()", 1000); 
    }
    Time();
    </script>
    <div id="time_2"></div>