我有一个表单,用户可以在其中保存他们的教育详细信息。需要验证的日期不能在现有资格记录的范围内。
到目前为止,我所做的是。
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;
}
}
工作正常。但是如何检查完整的日期(包括月份和日期)以获取准确的结果。
答案 0 :(得分:2)
看看moment.js
这将使日期处理变得非常容易。还有其他类似的库(date-fns,luxon等)。您可以使用其中任何一个。
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/
答案 1 :(得分:1)
利用本机javascript Date
对象。
将它们用于所有日期(新日期和现有日期)。
拥有它们后,可以轻松进行比较。简单的例子:
df_original=pd.read_csv('/data.csv')
df=pd.DataFrame(df_original, columns=['A','B'])
for i in range(0,len(df['A']),100):
df_100=df[i:i+100]
注意::var dateNow = new Date();
var dateYesterday = date.setDate(date.getDate() - 1);
dateNow > dateYesterday //true
是一个很棒的库,具有大量的日期操作可能性。但是,该库的大小很大,因此不必向仅利用其基本知识的项目引入这种大小的新依赖项。