比较 Selenium 中的日期 IDE
Comparing dates in Selenium IDE
以下是为了比较出生日期并确认此人已满 10 岁。它似乎有效,但是我需要一些建议来改进或确保我的逻辑对于我在 Selenium IDE 中的日期比较是正确的。我是否需要使用 Date.parse() 将这些转换为毫秒 advice 或者这些正确的日期格式是否足以准确比较它们?
<tr>
<td>storeEval</td>
<td>new Date("${DateOfBirthYear}","${DateOfBirthMonth}"-1,"${DateOfBirthDay}");</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'] < 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
代码看起来不错。如果它有效,我不会更改它 - 当您比较天时,比较毫秒不会有任何区别。
以下是为了比较出生日期并确认此人已满 10 岁。它似乎有效,但是我需要一些建议来改进或确保我的逻辑对于我在 Selenium IDE 中的日期比较是正确的。我是否需要使用 Date.parse() 将这些转换为毫秒 advice 或者这些正确的日期格式是否足以准确比较它们?
<tr>
<td>storeEval</td>
<td>new Date("${DateOfBirthYear}","${DateOfBirthMonth}"-1,"${DateOfBirthDay}");</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'] < 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
代码看起来不错。如果它有效,我不会更改它 - 当您比较天时,比较毫秒不会有任何区别。