Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于显示周末日期的JavaScript应用程序?_Javascript_Jquery_Date_Weekend - Fatal编程技术网

用于显示周末日期的JavaScript应用程序?

用于显示周末日期的JavaScript应用程序?,javascript,jquery,date,weekend,Javascript,Jquery,Date,Weekend,我想了很多——我试过了,但解决不了。我需要一个JavaScript应用程序来显示当前日期中最近的周末日期 如果现在是周末,请注明本周末的日期,如果不是,则注明下周末的日期 我在等你的帮助。 尊重。您可以使用内置的Date构造函数。 var-date=新日期(); var day=date.getDay(); 星期六; 周日; 如果(day==0 | | day==6){//0表示周日,6表示周六 星期六=日期; 星期天=新日期(星期六.getTime()); sunday.setDate(星期六

我想了很多——我试过了,但解决不了。我需要一个JavaScript应用程序来显示当前日期中最近的周末日期

如果现在是周末,请注明本周末的日期,如果不是,则注明下周末的日期

我在等你的帮助。
尊重。

您可以使用内置的
Date
构造函数。
var-date=新日期();
var day=date.getDay();
星期六;
周日;
如果(day==0 | | day==6){//0表示周日,6表示周六
星期六=日期;
星期天=新日期(星期六.getTime());
sunday.setDate(星期六.getDate()+(day==0?-1:1));
如果(天===0){
var temp=星期六;
星期六=星期日;//令人困惑,但它们实际上是错误的日期,因此我们正在切换日期
星期日=临时工;
temp=null;//释放一些内存!
}
}
否则{
//这是一个复杂的部分,我们需要找出下周六是什么时候
星期六=新日期(Date.getFullYear(),Date.getMonth(),(Date.getDate()+6)-天);
星期天=新日期(星期六.getTime());
sunday.setDate(星期六.getDate()+(星期六.getDay()==0?-1:1));
}
日期=天=空//释放一些记忆!
document.body.innerText=[星期六、星期日]我将“最近的”周末解释为周一和周二的前一个周末,周四和周五的下一个周末。你没有提供任何关于周三该怎么办的信息

然而,从其他答案来看,似乎您希望当前周末为周六和周日,或者下一个周末为工作日

以下是比其他答案更简洁的一点:

/*获得离所提供日期最近的周末
**@param{Date}Date-最接近周末的日期
**@returns{Array}日期数组[星期六、星期日]
*/
函数getNearestWeekend(日期){
//复制日期,以免弄乱提供的日期
var d=新日期(+日期);
//如果是工作日,则将d移到下周六,否则移到当前周末周六
如果(d.getDay()%6){
d、 setDate(d.getDate()+6-d.getDay());
}否则{
d、 setDate(d.getDate()-(d.getDay()?0:1));
}
//带有星期六、星期日日期的返回数组
返回[新日期(d),新日期(d.setDate(d.getDate()+1))]
}
//一些测试
[新日期(2017年0月7日)//1月7日星期六
新日期(2017年0月8日)//1月8日太阳
新日期(2017年0月9日)//1月9日星期一
新日期(2017,0,12)//1月12日星期四
].forEach(功能(d){
var opts={weekday:'short',day:'numeric',month:'short'};
console.log('Date:'+d.tolocalString('en-GB',opts)+'|下周末:'+
getNearestWeekend(d).map(d=>d.toLocaleString('en-GB',opts)).join('and')
);
});

您能展示一下您迄今为止所做的尝试吗?也许它只是需要一个调整。离周三最近的周末是什么?非常感谢您的帮助,但此代码仅在周六显示。我需要周六和周日。我会更新的。但是你是两种情况都要还是只有一种情况?事实上,我只需要周六和周日的约会。非常感谢。没关系。尊重。这不是“最近的”周末,而是当前或下个周末。也就是说,给定星期一的日期,它返回下一个星期六和星期天,而不是刚刚过去的日期(最接近星期一的日期)。
 var chosenDay = new Date();
    var box = [];
    var counting = 0;
    for (var i = 0; i < 7; i++) {
      chosenDay.setDate(chosenDay.getDate() + counting);
      var day = chosenDay.getDate();
      var dayy = chosenDay.getDay();
      var month = chosenDay.getMonth()+1;
      var year = chosenDay.getFullYear();
      box.push({day: day, dayy: dayy});
      counting = 1;
    };
box.map(function(obj) {
 if (obj.dayy === 6) {
  console.log('Saturday found');
  alert(obj.day);
}; 
 if (obj.dayy === 0) {
  console.log('Sunday found');
  alert(obj.day);
};
});