Javascript if else计时器在特定日期

时间:2017-11-17 15:39:05

标签: javascript if-statement

我正在使用此代码

这是一个看它的codePen。 https://codepen.io/celli/pen/jaBrpP但是控制台似乎没有记录我的if else语句,除了第一个日志。代码有什么问题,它没有触发我的每一个条件?



function showDateContent() {
  var d = new Date();
  console.log(d.getDate(), d.getMonth());
  if (d.getDate() >= 4 && d.getDate() <= 17 && d.getMonth() + 1 == 12) {
    console.log("date is between 12/4 and 12/17");
  } else if (d.getDate() >= 18 && d.getDate() <= 30 && d.getMonth() + 1 == 12) {
    console.log("date is between 12/18 and 12/30");
  } else if (d.getDate() >= 31 && d.getMonth() + 1 == 12 || d.getDate() >= 1 && d.getMonth() + 1 == 1) {
    console.log("date is after 12/31/2017 or we are in the New Year of 2018");
  }
}
showDateContent();
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

因为您还在检查月份是12还是1,而我们目前是一年中的第11个月。

答案 1 :(得分:0)

当前月份是11,getMonth()是0基于索引并且偏移1

if(d.getDate() >= 4 && d.getDate()<= 17 && d.getMonth()+1 == 11)

&#13;
&#13;
function showDateContent(){
var d=new Date();

console.log(d.getDate(), d.getMonth());

if(d.getDate() >= 4 && d.getDate()<= 17 && d.getMonth()+1 == 11){
    console.log("date is between 12/4 and 12/17");


} else if(d.getDate() >= 18 && d.getDate()<= 30 && d.getMonth()+1 == 11){
    console.log("date is between 12/18 and 12/30");


} else if(d.getDate() >= 31 && d.getMonth()+1 == 12 || d.getDate() >= 1 && d.getMonth()+1 == 1){
    console.log("date is after 12/31/2017 or we are in the New Year of 2018");

}
}

showDateContent();
&#13;
&#13;
&#13;