首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日期验证(日期不应在现有日期的范围内)

问日期验证(日期不应在现有日期的范围内)
EN

Stack Overflow用户
提问于 2018-09-22 10:40:15
回答 2查看 91关注 0票数 1

我有一种形式,用户可以保存他们的教育细节。需要对此相同日期的验证不应在现有资格记录范围内。

到目前为止我所做的是。

代码语言:javascript
复制
let eduList= this.var.educationResult;
  for(let i=0; i<= eduList.length-1; i++){      
        let startAndEnd = eduList[i][2].split('-');

        let existingFromYear= startAndEnd[0];
        let existingToYear = startAndEnd[1];

        let newFromYear= educationValues.fromDate.date.year;
        let newToYear= educationValues.toDate.date.year;

///Here I compared newly entered date with old education record dates.

      if((newFromYear > existingFromYear && newFromYear < existingToYear) || (newToYear> existingFromYear) && (newToYear < existingToYear) || (newFromYear === existingFromYear && newToYear === existingToYear)){
        toaster.error("Invalid Educational Details");
        this.validEdu = false;
        break;
      }
    }

它很好用。但是如何检查完整的日期(包括月份和日期)以获得准确的结果。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-22 10:43:24

看看moment.js

这将使处理日期非常容易。还有其他类似的图书馆(日期-fns,鲁迅等)。你可以用任何一种。

代码语言:javascript
复制
moment('2010-01-01').isSame('2010-02-01', 'day'); //returns false
moment('2010-01-01').isSame('2010-01-01', 'day'); //returns true

下面是您正在寻找的内容的链接。http://momentjs.com/docs/#/query/is-same/

票数 2
EN

Stack Overflow用户

发布于 2018-09-22 11:07:08

利用原生javascript Date对象。在你所有的约会中使用它们(新的和现有的)。

当你拥有它们的时候,你可以很容易地比较它们。简单的例子:

代码语言:javascript
复制
var dateNow = new Date();
var dateYesterday = date.setDate(date.getDate() - 1);

dateNow > dateYesterday //true

注意: moment.js是一个很棒的库,有很多处理日期的可能性。然而,库的大小是相当大的,并且在一个只利用它的基本知识的项目中引入这样一个新的依赖项是不必要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52455856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档