我想在网页上的元素中显示日期,然后每周在星期六更新一次,它会更新到该星期六的日期,如果尚未到达该周的星期六,它将仅显示上一个星期六周六日期截止到下周六。
我能够获取日期并提取星期几,因此我可以确定何时是星期六。我试图包含一个 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/