美文网首页
JS Date 时间比较大小

JS Date 时间比较大小

作者: 夹板儿孩 | 来源:发表于2021-12-13 20:11 被阅读0次

    JS 比较两个时间大小

    /**
     * 比较时间大小
     * 如: A 时间是否在 B 时间之前
     * 例: new Date("2021-11-11").after(new Date("2020-11-11")) === true
     * @param {Date} date 另一个时间
     * @param {String} format  格式化后再进行比较
     * @return {Boolean}
     */
    Date.prototype.before = function(date, format){
      if(!format) return date.getTime() > this.getTime()
      let d1 = new Date(this.format(format)),
          d2 = new Date(date.format(format));
      return d2.getTime() > d1.getTime()
    }
    
    /**
     * 比较时间大小
     * 如: A 时间是否在 B 时间之后
     * 例: new Date("2021-11-11").after(new Date("2020-11-11")) === true
     * @param {Date} date 另一个时间
     * @param {String} format  格式化后再进行比较
     * @return {Boolean}
     */
    Date.prototype.after = function(date, format){
       return date.before(this, format)
    }
    
    
    /**
     * 比较两个时间是否相等
     * @param {Date} date 另一个时间
     * @param {String} format 格式化后再进行比较
     * @return {Boolean}
     */
    Date.prototype.equal = function(date, format){
      if(!format) return date.getTime() === this.getTime()
      let d1 = new Date(this.format(format)),
          d2 = new Date(date.format(format));
      return d2.getTime() === d1.getTime()
    }
    
    
    
    console.log(new Date("2019-11-11").before(new Date("2020-11-11")));  // true
    console.log(new Date("2019-11-11").after(new Date("2020-11-11")));   // false
    
    console.log(new Date("2020-11-11").equal(new Date("2020-11-11")))    // true
    
    

    其中的 format () 函数来自于我的另一篇时间格式化文章

    JS Date 转时间字符串格式化

    相关文章

      网友评论

          本文标题:JS Date 时间比较大小

          本文链接:https://www.haomeiwen.com/subject/nirsfrtx.html