我有一种形式,用户可以保存他们的教育细节。需要对此相同日期的验证不应在现有资格记录范围内。
到目前为止我所做的是。
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;
}
}它很好用。但是如何检查完整的日期(包括月份和日期)以获得准确的结果。
发布于 2018-09-22 10:43:24
看看moment.js
这将使处理日期非常容易。还有其他类似的图书馆(日期-fns,鲁迅等)。你可以用任何一种。
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/
发布于 2018-09-22 11:07:08
利用原生javascript Date对象。在你所有的约会中使用它们(新的和现有的)。
当你拥有它们的时候,你可以很容易地比较它们。简单的例子:
var dateNow = new Date();
var dateYesterday = date.setDate(date.getDate() - 1);
dateNow > dateYesterday //true注意: moment.js是一个很棒的库,有很多处理日期的可能性。然而,库的大小是相当大的,并且在一个只利用它的基本知识的项目中引入这样一个新的依赖项是不必要的。
https://stackoverflow.com/questions/52455856
复制相似问题