繁体   English   中英

从星期日开始工作日 - 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM