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

このページをチェックしてくださいhttp://psoug.org/snippet/Javascript-Calculate-time-difference-between-two-dates_116.htm

于 2012-02-13T18:25:46.027 に答える
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 に答える