计算日期的问题

时间:2018-06-07 14:52:25

标签: javascript

有人可以帮我确定为什么这段代码不起作用?

<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日,所以应该返回aw​​ard_year1 = 2019和award_year2 = 2020.

1 个答案:

答案 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);