【问题标题】:Javascript date divideJavascript日期划分
【发布时间】:2012-02-13 17:45:04
【问题描述】:
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,很抱歉提出一个愚蠢的问题,但对我来说是个问题:(

【问题讨论】:

    标签: javascript date divide


    【解决方案1】:

    对于小时数,您只需获取 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'));
    

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 2016-08-12
      • 2015-06-15
      • 1970-01-01
      • 2015-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多