如何更改浏览器的测试日期?

时间:2015-04-13 22:15:18

标签: javascript testing

我的一些DOM依赖于当前日期,我使用此代码段来确定:

var d = new Date();
var month = d.getMonth() + 1;
var day = d.getDate();
var year = d.getFullYear();

setComboBoxOptions($('#optionRpd0'), year    );
setComboBoxOptions($('#optionRpd1'), year - 1);
setComboBoxOptions($('#optionRpd2'), year - 2);
setComboBoxOptions($('#optionRpd3'), year - 3);
setComboBoxOptions($('#optionRpd4'), year - 4);

问题是,我现在需要测试这是否正常工作。如何更改d.getFullYear()返回的值?

2 个答案:

答案 0 :(得分:2)

使用setFullYear方法。

d.setFullYear(2000);

答案 1 :(得分:-1)

问题是'年'是以不是数字的形式出现的 解决这些问题的最佳方法是将年份转换为数字(使用parseInt ),然后从中减去

<强> parseInt函数(年)-1

var d = new Date();
var month = d.getMonth() + 1;
var day = d.getDate();
var year = d.getFullYear();

setComboBoxOptions($('#optionRpd0'), parseInt(year)    );
setComboBoxOptions($('#optionRpd1'), parseInt(year) - 1);
setComboBoxOptions($('#optionRpd2'), parseInt(year) - 2);
setComboBoxOptions($('#optionRpd3'), parseInt(year) - 3);
setComboBoxOptions($('#optionRpd4'), parseInt(year) - 4);