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;
};

在这个函数中,我得到未来的日期并在当前日期使用它

future.date - current.date = 毫秒差

在这里我得到了天之间的差异,但我无法得到小时、分钟和秒

你能告诉我,在我得到天数的差异后,我需要如何划分

这是javascript,很抱歉一个愚蠢的问题,但对我来说是个问题:(

4

2 回答 2

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'));
于 2012-02-13T18:20:37.697 回答
0

查看此页面http://psoug.org/snippet/Javascript-Calculate-time-difference-between-two-dates_116.htm

于 2012-02-13T18:25:46.027 回答