繁体   English   中英

我怎样才能得到后天和后天的星期几?

[英]How can I get the week day of day after tomorrow and the day next?

我正在尝试在未来三天的天气应用程序上显示预报。 对于“明天”,我并没有让自己复杂化,所以我只显示“明天”,但我还需要显示后天和后天 ->

所以我可以显示“明天:21º/13º, [day-after-tomorrow]=.... , [day-next] = ....”

我正在尝试使用 getDay() 方法来获取它,并且因为它返回一个从 0 到 6 的数组,所以我试图将它与我按照该方法返回的相同顺序制作的星期几的数组进行比较对程序说:“嘿,如果你得到 getDay === 1,那么在我的数组“days[1]”(这是一个字符串“Monday”)上显示这个位置。但我做错了什么,不能没有得到我正在寻找的反馈。

function calculateDay () {
    const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
    let today = new Date();
    let currentDay = today.getDay();
    let trueDay;
    let afterTom = trueDay + 1;
    let dayNext = trueDay + 2;

    if (currentDay === 0) {
        trueDay === days[0];
    } 
} 

我对此非常迷茫,无法弄清楚如何获得反馈以及如何获得两个不同的反馈数据(后天和后天)。

这个前端 Padawan 将不胜感激任何帮助。

提前谢谢各位!

您需要做的就是当您增加一天时,检查它是否不大于 6。如果是,那么您需要重新开始计数,将天设置为0

下面的代码将帮助您以非常易读的方式理解。

 const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; function calculateDay() { let today = new Date(); let currentDay = today.getDay(); console.log("Today:", days[currentDay]) let tomorrow = currentDay + 1; //INCREASE A DAY if (tomorrow > 6) { //CHECK IF IS BIGGER THAN 6 (6 = saturday) tomorrow = 0; } console.log("Tomorrow:", days[tomorrow]) let dayAfter = tomorrow + 1; if (dayAfter > 6) { dayAfter = 0; } console.log("Day After Tomorrow:", days[dayAfter]) let thirdDay = dayAfter + 1; if (thirdDay > 6) { thirdDay = 0; } console.log("Third Day:", days[thirdDay]) } calculateDay()

如果我理解正确,您不需要为此使用 IF 语句。 只需计算正确的天数索引,并使用模数 (%) 确保您不会超出天数数组:

function calculateDay () {
            const days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
            let today = new Date();
            let currentDay = today.getDay();
            let trueDay = days[currentDay];
            let afterTom = days[((trueDay + 1) % days.length)];
            let dayNext = days[((trueDay + 2) % days.length)];
            } 
        } 

但我不知道你为什么叫 day + 1 afterTomorrow,那不是明天吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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