javascript - 使用 javascript 每周更改一次显示的日期

标签 javascript html date

我想在网页上的元素中显示日期,然后每周在星期六更新一次,它会更新到该星期六的日期,如果尚未到达该周的星期六,它将仅显示上一个星期六周六日期截止到下周六。

我能够获取日期并提取星期几,因此我可以确定何时是星期六。我试图包含一个 IF 语句,该语句将在星期六到来时更新文本。这似乎有效,但我不知道如何让它显示上周六的日期,直到下次更新?

HTML:

<div id="date">

</div>

JS:

var date = new Date(); //Gets current date
var day = date.getDay(); //Isolates what day it is

if (day === 6) {
  document.getElementById("date").innerHTML = date;
} else {
  //keep the previous saturday somehow? 
}

我有一个 JSFiddle,其中包含我一直在练习的代码:

https://jsfiddle.net/Lime26/8txryo3k/13/

到目前为止,似乎正在工作,不知道如何让它继续显示上周六的日期。

附带说明:为了测试这一点,我手动更改了 0 到 6 之间的日期整数,以确定它是否正常工作。

我试图通过输入 6 来设置日期,然后我将输入一个不同的数字,理论上我希望它不要改变(为了检查它,我正在观察秒和分钟,希望它们保持“卡住”状态)然后当我再次输入 6 时,我希望它更改为最新时间。

最佳答案

此解决方案不需要 if 条件:

var date = new Date(); //Gets current date

var day = date.getDay(); //Isolates what day it is

date.setDate(date.getDate() - (day+1) % 7 ); 
// day = 0 , (day+1) % 7 = 1
// day = 1 , (day+1) % 7 = 2
// .
// .
// day = 6 , (day+1) % 7 = 0 /here is sat


document.getElementById("date").innerHTML = date;
<div id="date"></div>

关于javascript - 使用 javascript 每周更改一次显示的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57128852/

相关文章:

javascript - 如何在数组 javascript 中找到匹配字符串?

javascript - 由于标题固定,jQuery 滚动偏移

html - 视频作为背景视差 CSS

bash - 在命令行上获取当前年份

javascript - 基于 URL 的不同 CSS

javascript - 响应式(Reactive)编程与事件驱动编程有何不同?

javascript - 使用 IIFE 方法并将变量从一个文件传递到另一个文件

javascript - 提取漂亮网址的部分内容

swift - "EEE, dd MMM yyyy hh:mm:ss zzz"字符串转换为日期

php - 如果使用数组,则获取下拉列表中选定的月份值