2012-02-13 77 views
0
Date.prototype.copy = function() { 
    return new Date(this.getTime()); 
}; 


Date.prototype.msPERDAY = 1000 * 60 * 60 * 24; 
Date.prototype.msPERHOUR = 1000 * 60 * 60; 

    Date.prototype.getDaysBetween = function(d) { 

    d = d.copy(); 

    var diff = d.getTime() - this.getTime(); 

    var days = Math.floor((diff)/this.msPERDAY); 
    diff = (diff)/this.msPERDAY; 
    var hours = Math.floor((diff)/this.msPERHOUR); 
    alert(hours); 
    var time = new Array(days , hours); 
    return time; 
}; 

在此功能中我得到未來的日期,並用它在當前日期javascript日期鴻溝

future.date - current.date =毫秒差

在這裏我得到天之間的差異,但我不能得到的小時,分​​鍾和秒

你能告訴我,我該怎麼需要後,我得到天之間的差異來劃分

這是JavaScript的,對不起˚F或者一個愚蠢的問題,但對我來說是一個問題:(

回答

0

對於個小時,你可以只搶diff = (diff)/this.msPERDAY結果的小數部分然後乘以24.請嘗試以下(也的jsfiddle:http://jsfiddle.net/ZLUqB/):

Date.prototype.copy = function() { 
    return new Date(this.getTime()); 
}; 


Date.prototype.msPERDAY = 1000 * 60 * 60 * 24; 
Date.prototype.msPERHOUR = 1000 * 60 * 60; 

Date.prototype.getDaysBetween = function(d) { 

    d = d.copy(); 

    var diff = d.getTime() - this.getTime(); 
    console.log(diff); 

    var days = Math.floor((diff)/this.msPERDAY); 
    console.log(days); 

    diff = (diff)/this.msPERDAY % 1; // get only the decimal part of this 
    console.log(diff); 

    var hours = diff * 24; // multiply the decimal part by 24 to get hours 
    console.log(hours); 

    var time = new Array(days , hours); 
    return time; 
}; 

var d = new Date('02/01/2012 05:00'); 
d.getDaysBetween(new Date('02/12/2012 13:00'));