上午发了一个求日期差值的帖子,现在又有一个问题,如何求时间差。
两个字段值如下:
01:01.00.000
21:20.00.000
我现在想求这两个的差值。已知
var time_begin = "01:01.00.000";
var time_end = "21:20.00.000";我想求出差值,请各位帮帮忙哈。

解决方案 »

  1.   


    var time_begin = "01:01.00.000"; 
    var time_end = "21:20.00.000"; 
    var dt1 = new Date();
    var dt2 = new Date();
    time_begin = time_begin.replace(/:/g,".")
    time_end = time_end.replace(/:/g,".")
    a = time_begin.split(".");
    dt1.setHours(parseInt(a[0],10))
    dt1.setMinutes(parseInt(a[1],10))
    dt1.setSeconds(parseInt(a[2],10))
    dt1.setMilliseconds(parseInt(a[3],10))a = time_end.split(".");
    dt2.setHours(parseInt(a[0],10))
    dt2.setMinutes(parseInt(a[1],10))
    dt2.setSeconds(parseInt(a[2],10))
    dt2.setMilliseconds(parseInt(a[3],10))
    dif = dt2 - dt1;
    h = Math.floor(dif / (60 * 60* 1000));
    n = Math.floor((dif - h * (60 * 60* 1000)) / (60 * 1000))
    s = Math.floor((dif - h * (60 * 60* 1000) - n * (60 * 1000)) / 1000)
    m = dif % 1000;
    t = "差" + h + "小时" + n + "分" + s + "秒" + m + "毫秒";
    alert(t)
      

  2.   

    var time_begin= new Time("01:01.00.000") 
    var time_end = new Time("21:20.00.000") 
    alert(time_end-time_begin) 
      

  3.   


    var d1=new Date("2009/08/10 08:00:00");
    var d2=new Date("2009/08/10 17:30:00");
    var diff=(d2.getTime()-d1.getTime())/1000*60*60;alert("时间相差:"+diff +" 小时");
      

  4.   


    <script>
    var time_begin = "01:01.00.000";
    a=time_begin.split(':')
    var d1=new Date(2009,8,11,a[0],a[1].split('.')[0],a[1].split('.')[1]);
    var time_end = "21:20.00.000";
    a=time_end.split(':')
    var d2=new Date(2009,8,11,a[0],a[1].split('.')[0],a[1].split('.')[1]);
    alert((d2.getTime()-d1.getTime())/1000/3600+'小时');//这里可以换算成你要的格式,如分、秒...
    </script>