2010-07-23 92 views

回答

1

在Javascript中,你可以做一個日期對象的數學。

var 
    date1 = new Date(2010, 07, 07, 05, 00, 00), 
    date2 = new Date(2010, 07, 21, 15, 30, 00); 

return (date2 - date1); 

這將返回兩個日期之間的毫秒數。

然後,您可以將其轉換成小時,分鐘和秒,如果你通過86400000除以天想要的東西,然後通過對3600000個小時的60000分鐘分割的是剩餘,那麼其餘的衝突,等等。

+0

你好托馬斯 在這裏我沒有處理日期....在這裏處理磁帶時間位置。如此大的人力資源職位可以來100小時到112小時可以來 – 2010-07-23 05:57:04

+0

嗯,它是否工作,如果你把,例如,新日期(0,0,0,100,56,56)?雖然我明白你的意思,但這仍然是一種解決方法。 – thomasrutter 2010-07-23 05:59:04

+0

不......它不工作! – 2010-07-23 06:13:36

1
function Time (hour, min, sec) { 
    this.hour = hour; 
    this.min = min; 
    this.sec = sec; 
} 

Time.parse = function (str) { 
    var arr = str.split (":"); 
    return new Time (arr [0], arr [1], arr [2]); 
}; 

Time.prototype = { 
    constructor: Time 

    , toString: function() { 
     return [this.hour, this.min, this.sec].join (":"); 
    } 

    , toSec: function() { 
     return this.hour * 3600 + this.min * 60 + this.sec; 
    } 

    , toMillSec: function() { 
     return this.toSec() * 1000; 
    } 

    , subtract: function (time) { 
     diff = new Time (
      this.hour - time.hour 
     , this.min - time.min 
     , this.sec - time.sec 
    ); 
     if (diff.sec < 0) { 
     diff.sec += 60; 
     --diff.min; 
     } 
     if (diff.min < 0) { 
     diff.min += 60; 
     --diff.hour; 
     } 
     return diff; 
    } 
}; 

var t1 = Time.parse ("101:00:00"); 
var t2 = Time.parse ("100:56:56"); 
var t3 = t1.subtract (t2); 

t3.toString(); // "0:3:4" 
t3.toMillSec(); // 184000