我有一个&if 39; if else'有效的陈述。但是我想为它添加另一个条件。声明如下:
function showDateContent(){
var d=new Date();
if(d.getDate()>=11&& d.getMonth()+1 == 11){
//show something
}else{
//show something else
}
}
showDateContent();
我想写的条件语句就像这样(下面),但它似乎不起作用。请注意,当第一个语句中的日期介于两个数字之间时,我试图让某些事情发生,然后我有两个类似于我的第一个例子的条件语句。
function showDateContent(){
var d=new Date();
if(d.getDate()> 11 && d.getDate()< 13 && d.getMonth()+1 == 11){
//show something when the date is between 11 and 13
} else if(d.getDate()>=14&& d.getMonth()+1 == 11){
//show something when the date is equal or past the date of the 14th
}else{
//show something else when the date is before the 11th
}
}
}
showDateContent();
答案 0 :(得分:1)
尝试使用 console.log()打印浏览器所拥有的日期和月份,然后使用基于它的if和else语句..
因为在印度这是13-11-2017,你还没有处理日期= 13的任何事情,所以当我尝试你的代码时,这是最后一部分
function showDateContent(){
var d=new Date();
console.log(d.getDate(), d.getMonth()); // prints 13 10
if(d.getDate()> 11 && d.getDate()< 13 && d.getMonth()+1 == 11){
console.log("show something when the date is between 11 and 13");
} else if(d.getDate()>=14&& d.getMonth()+1 == 11){
console.log("show something when the date is equal or past the date of the 14th");
} else {
console.log("how something else when the date is before the 11th");
}
}
showDateContent();
但是当我执行d.getDate()<= 13
时,它会进入下面代码中给定的if
if(d.getDate()> 11 && d.getDate()<= 13 && d.getMonth()+1 == 11){
console.log("show something when the date is between 11 and 13");
}
还有一个额外的&#34;}&#34;在您的代码的最后一行中括起来并不是必需的。
答案 1 :(得分:0)
您应首先检查月份是否正确
if(d.getMonth() + 1 == 11) {
...
}
然后你有3个案例:
if(d.getDate() < 11) {
} else if(d.getDate() > 13) {
} else {
}
所以你明白了:
if(d.getMonth() + 1 == 11) {
if(d.getDate() < 11) {
} else if(d.getDate() > 13) {
} else {
}
}