Гро*_*ный 15 javascript datetime weekday
如何返回给定工作日的下一个日期(可以是0-6号或者周日至周六的名字).
例如,如果今天,在2009年10月16日星期五, 我通过了:
Tim*_*Tim 29
只添加7并不能解决问题.
以下功能将为您提供一周的第二天.
function nextDay(x){
var now = new Date();
now.setDate(now.getDate() + (x+(7-now.getDay())) % 7);
return now;
}
Run Code Online (Sandbox Code Playgroud)
小智 16
以下是蒂姆回答解决具体问题的一个略微修改的版本 - 传递日期d,以及所需的星期几(道具0-6),返回日期
function nextDay(d, dow){
d.setDate(d.getDate() + (dow+(7-d.getDay())) % 7);
return d;
}
Run Code Online (Sandbox Code Playgroud)
这是另一个简单的解决方案
//takes dayIndex from sunday(0) to saturday(6)
function nextDate(dayIndex) {
var today = new Date();
today.setDate(today.getDate() + (dayIndex - 1 - today.getDay() + 7) % 7 + 1);
return today;
}
document.write("Next Sunday is: "+nextDate(0).toLocaleString()+"<br/>");
document.write("Next Thursday is: "+nextDate(4).toLocaleString()+"<br/>");
document.write("Next Saturday is: "+nextDate(6).toLocaleString());Run Code Online (Sandbox Code Playgroud)