首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能得到后天和后天的一周?

我怎样才能得到后天和后天的一周?
EN

Stack Overflow用户
提问于 2019-08-19 14:01:17
回答 2查看 169关注 0票数 0

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

所以我可以显示“明天:21/13,后天=.,第二天-下一天=.”

我试图使用getDay()方法获得这个值,因为它返回一个从0到6的数组,所以我试图将它与我制作的一周数组进行比较,其顺序与该方法返回给程序的顺序相同:“嘿,如果您得到getDay === 1,那么在我的数组"days1”(即字符串“days1”)上显示这个位置。但是我做错了一些事情,无法得到我想要的反馈。

代码语言:javascript
复制
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];
    } 
} 

我对此非常困惑,也不知道如何获得反馈,以及如何获得两种不同的反馈数据(后天和后天)。

任何帮助都会得到这位前端学徒的感谢。

谢谢,伙计们!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-19 14:06:11

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

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

代码语言:javascript
复制
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()

票数 0
EN

Stack Overflow用户

发布于 2019-08-19 14:09:44

如果我正确地理解了你,你就不需要使用If语句了。只需计算正确的日索引,并使用模数(%)确保不超出日期数组:

代码语言:javascript
复制
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)];
            } 
        } 

但我不知道你为什么把这一天叫做+1 afterTomorrow,不是明天吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57558330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档