我正尝试在未来三天的天气应用程序中显示天气预报。对于“明天”,我不会让自己复杂化,因此我只显示“明天”,但是我还需要显示后天和隔天->
所以我可以显示“明天:21º/13º,[明天后一天] = ....,[天后一天] =...。”
我正在尝试使用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会提供任何帮助。
预先感谢大家!
答案 0 :(得分:0)
您需要做的就是增加一天的时间,检查它是否不大于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()
答案 1 :(得分:0)
如果我对您的理解正确,则无需使用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)];
}
}
但是我不确定为什么您明天打电话给明天+ 1,那不是明天吗?