有人可以帮我确定为什么这段代码不起作用?
<script type="text/javascript">
const date = new Date();
const day = date.getUTCDate();
const month = date.getMonth(); //January is 0!
const md = month + "." + day
if (md < 3.03) {
var theDate = new Date();
var award_year1 = date.getFullYear();
var award_year2 = date.getFullYear() + 1;
}
else if (md > 3.03) {
var theDate = new Date();
var award_year1 = date.getFullYear() + 1;
var award_year2 = date.getFullYear() + 2;
}
console.log(award_year1);
console.log(award_year2);
</script>
今天是6月7日,所以应该返回award_year1 = 2019和award_year2 = 2020.
答案 0 :(得分:2)
只是建议让你的代码更具说明性/更容易阅读。您可以按照预期的方式比较2个日期对象。
const date = new Date();
let offset = 0;
const threshold = new Date();
threshold.setMonth(3);
threshold.setDate(3);
if (Date.now() > threshold) { //might be a bit easier to reason about
offset = 1;
}
var theDate = new Date();
var award_year1 = date.getFullYear() + offset;
var award_year2 = date.getFullYear() + 1 + offset;
console.log(award_year1);
console.log(award_year2);