用于获取前一个星期一的 JavaScript

标签 javascript date

我希望前一个星期一出现在用户输入今天日期的字段中。

例如:如果输入今天的日期 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/

相关文章:

r - 如何删除特定 ID 组内 7 天内的相互观察结果?

python - Python中用户友好的时间格式?

javascript - JS 以 UTC 时间获取日期

javascript - DOM 不更新

javascript - 使用 jquery 单击输入类型按钮时如何更改 Canvas 背景图像?

javascript - WordPress 根本不加载插件脚本

php - 将工作时间添加到时间戳

javascript - Ionic 2 - 导入/注入(inject) Angular 2 HTTP 组件

javascript - Electron,如何在没有nodeIntegration的情况下访问 Node API

javascript - Chrome 与 Firefox 中的 Javascript 日期不正确