我希望前一个星期一出现在用户输入今天日期的字段中。
例如:如果输入今天的日期 29-Jan-16
,则代码将显示前一个星期一的日期(即 25- 1 月 16 日
).
在网上看到了一些代码:
function getPreviousMonday() {
var date = new Date();
if (date.getDay() != 0) {
return new Date().setDate(date.getDate() - 7 - 6);
} else {
return new Date().setDate(date.getDate() - date.getDate() - 6);
}
}
但是,这不是很有效,为什么?
最佳答案
var prevMonday = new Date();
prevMonday.setDate(prevMonday.getDate() - (prevMonday.getDay() + 6) % 7);
我来晚了一点,但我喜欢这个解决方案。这是一个类轮,并没有那么复杂。为此创建一个函数对我来说似乎有些过分了。
关于用于获取前一个星期一的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35088088/