2012-02-13 65 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'));