【问题标题】:Check if date is between 0 and 100 years检查日期是否在 0 到 100 年之间
【发布时间】:2021-01-13 05:19:12
【问题描述】:

我正在使用此代码检查输入的日期是否有效并且存在(不是未来)

IsDate(mydate: string): boolean {
      var isdate = Date.parse(mydate);
      if (isNaN(isdate)) {
        return false;
      }
  
      var EnteredDate = new Date(isdate)
      var TodayIs = new Date()
      if (EnteredDate > TodayIs) {
        return false;
      }
      return true;
    }

但是现在如果输入的日期在当前日期的 100 年以上,我需要返回 false。是否有函数或方法可以获取两个日期之间的年份?

我试图通过这个链接使用 javascript 函数,但没有运气:

 https://stackoverflow.com/questions/8152426/how-can-i-calculate-the-number-of-years-between-two-dates

【问题讨论】:

    标签: angular typescript


    【解决方案1】:

    // 计算过去某一天与今天的时间差

    var Difference_In_Time = EnteredDate.getTime() - new Date().getTime();

    // 计算编号。两个日期之间的天数

    var Difference_In_Days = Difference_In_Time / (1000 * 3600 * 24);

    【讨论】:

    • var Difference_In_Time = EnteredDate.getTime() - new Date().getTime(); var Difference_In_Days = ((Difference_In_Time / (1000 * 3600 * 24))/365)*(-1);
    【解决方案2】:

    您可以使用Date.getFullYear() 方法和常规算术运算符来检查输入的日期是否比当前年份晚 100 年以上。

    IsDate(mydate: string): boolean {
        var isdate = Date.parse(mydate);
        if (isNaN(isdate)) {
            return false;
        }
    
        var EnteredDate = new Date(isdate);
        var TodayIs = new Date();
        if (EnteredDate.getFullYear() > TodayIs.getFullYear() + 100) {
            return false;
        }
        return true;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-12
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多