![](/img/trans.png)
[英]Get start and end of week with the start on Monday and end on Sunday in Javascript
[英]start week day from sunday - javascript
我想通过提供特定周的天数来检索日期
例如
当我说
day: 1
它应该为我提供:
2023-01-15
到目前为止我尝试过的是:
function calculatedDate (day){ let date = new Date(); let dayAtDate = date.getDay(); let dayDiff = day - dayAtDate; if(dayDiff < 0){ dayDiff = 7 + dayDiff; } let desiredDate = date.setDate(date.getDate() + dayDiff); return new Date(desiredDate); } console.log(calculatedDate(1));
现在上面代码的问题是它认为day: 1
是星期一,但我希望day: 1
在这里是星期日。
任何人都可以在这里以最好的方式帮助我吗?
周日为 0,周一为 1:
function calculatedDate (day) { let date = new Date(); let dayAtDate = date.getDay(); let dayDiff = day - (dayAtDate + 1); // change here if (dayDiff < 0) { dayDiff = 7 + dayDiff; } let desiredDate = date.setDate(date.getDate() + dayDiff); return new Date(desiredDate); } console.log(calculatedDate(1));
在提供的那一天只 -1 怎么样? 那应该解决它:
function calculatedDate (day){ let date = new Date(); let dayAtDate = date.getDay(); day = day - 1; let dayDiff = day - dayAtDate; if(dayDiff < 0){ dayDiff = 7 + dayDiff; } let desiredDate = date.setDate(date.getDate() + dayDiff); return new Date(desiredDate); } console.log(calculatedDate(1));
您可能希望在输入参数day
上添加一些验证,确保它是一个数字且大于或等于 1。
当前日期将为 0,通过进行以下更改来说明这一点。
if(dayDiff < 0){
dayDiff = 6 + dayDiff;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.