如何确定未来3天是否有周末?

时间:2016-10-11 08:15:40

标签: javascript jquery

到目前为止,这就是我所做的。但是除了第3个样本之外,输出与我期望的不同,但它只显示+1 date而不是整个日期。



var datess = new Date();
var ndate = new Date(datess.getDate() + 1);
var ndate2 = datess.getDate() + 1;


document.getElementById("newdate").innerHTML = datess;
document.getElementById("newdate1").innerHTML = ndate;
document.getElementById("newdate2").innerHTML = ndate2;

<div id = "newdate">

</div>
<div id = "newdate1">

</div>
<div id = "newdate2">

</div>
&#13;
&#13;
&#13;

我想要实现的是在确定它是否有一个周末它会传递到variable并且该变量将在循环中使用。

5 个答案:

答案 0 :(得分:8)

我们需要知道的第一件事是,周末包括日期:

0 - Sunday
6 - Saturday

现在,我们需要检查接下来的三天是否包含此内容。可能的值来自星期三。所以,你需要检查:

if (dateObj.getDay() >= 3)
  return true;

您无需检查其他人,因为范围为0 - 6,此代码涵盖所有内容。即使您提供的值为0的星期日,它也会显示为false,因为星期一不是周末。

<input type="date" id="dtobj" placeholder="Enter a Date" />
<button onclick="if ((new Date(dtobj.value)).getDay() >= 3) alert('Weekend!'); else alert('No Weekend!');">Check</button>

以上代码在Chrome中运行得非常好。请注意,此Date相对于客户端计算机而非服务器。

答案 1 :(得分:3)

var datess = new Date();
var ndate = new Date(datess.getTime() + 86400 * 1000);
var ndate2 = new Date(datess.getTime() + 86400 * 2 * 1000);

document.getElementById("newdate").innerHTML = datess + check_weekend(datess);
document.getElementById("newdate1").innerHTML = ndate + check_weekend(ndate);
document.getElementById("newdate2").innerHTML = ndate2 + check_weekend(ndate2);

function check_weekend(t) {
    if (t.getDay() == 0 || t.getDay() == 6) {
        return "(Yes)";
    } else {
        return "(No)"
    }
}
<div id = "newdate">

</div>
<div id = "newdate1">

</div>
<div id = "newdate2">

</div>

答案 2 :(得分:2)

&#13;
&#13;
var today = new Date();
var tomorrow = new Date(today.getTime() + 24 * 60 * 60 * 1000);
var afterTomorrow = new Date(tomorrow.getTime() + 24 * 60 * 60 * 1000);


document.getElementById("newdate").innerHTML = today;
document.getElementById("newdate1").innerHTML = tomorrow;
document.getElementById("newdate2").innerHTML = afterTomorrow;

//getDay() return day number
//0 - Sunday
//1 - Monday
//2 - Tuesday
//...
if (tomorrow.getDay() == 0) {
  console.log("Tomorrow is sunday !");
} else if (tomorrow.getDay() == 6) {
  console.log("Tomorrow is Saturday !");
}
//Do same with after tomorrow
&#13;
<div id="newdate"></div>
<div id="newdate1"></div>
<div id="newdate2"></div>
&#13;
&#13;
&#13;

答案 3 :(得分:1)

您需要查看日期方法。

您无法在日期中添加+1,您需要使用它&#34; get&#34; /&#34; set&#34;方法

var d = new Date()
d.getFullYear()   // 2016
d.getMonth()   // 9
d.getDate()   // 11

如果您使用d.getDay(),它将返回星期几,这就是您需要查找周末的内容。

答案 4 :(得分:0)

这个怎么样:

var DayToCheck = new Date();
if (DayToCheck.getDay() == 6 || DayToCheck.getDay() == 0) alert('DayToCheck is weekend!');