比较 Selenium 中的日期 IDE

Comparing dates in Selenium IDE

以下是为了比较出生日期并确认此人已满 10 岁。它似乎有效,但是我需要一些建议来改进或确保我的逻辑对于我在 Selenium IDE 中的日期比较是正确的。我是否需要使用 Date.parse() 将这些转换为毫秒 advice 或者这些正确的日期格式是否足以准确比较它们?

<tr>
<td>storeEval</td>
<td>new Date(&quot;${DateOfBirthYear}&quot;,&quot;${DateOfBirthMonth}&quot;-1,&quot;${DateOfBirthDay}&quot;);</td>
<td>DateOfBirthAsDate</td>
</tr>
<tr>
<td>storeEval</td>
<td>new Date();</td>
<td>today</td>
</tr>
<tr>
<td>storeEval</td>
<td>(Date.prototype.addMonth = function(month) { var dat = new Date(this.valueOf()); dat.setMonth(dat.getMonth() + month); return dat; }); var dat = storedVars['today'];dat.addMonth(-120)</td>
<td>DateOfBirthEleven</td>
</tr>
<tr>
<td>storeEval</td>
<td>(storedVars['DateOfBirthEleven'] &lt; storedVars['DateOfBirthAsDate'] ) ? true : false</td>
<td>AgeOK</td>
</tr>

欢迎提出意见和建议。

我会这样做:

var a = new Date('03/21/1980');
var b = new Date('03/21/1989');
console.log(a);
console.log(b);
var yearDiff = b.getYear() - a.getYear();
if( yearDiff >= 10) {
  console.log("over 10!");
}
else if (yearDiff >= 9) {
 //compare milliseconds for 1 year
 console.log("over 9!"); 
}

只是因为 "year" 与飞跃等不同...但是如果它们明显超过 10,您可以跳过语义...

抱歉,没有时间放入 seleniumese

代码看起来不错。如果它有效,我不会更改它 - 当您比较天时,比较毫秒不会有任何区别。