簡體   English   中英

獲取本周和下一周的日期

[英]Get the dates for this current week and the next one

我想要一個包含本周和下周日期的數組。 我嘗試使用 for 循環和 while 循環來實現這一點,但目前沒有成功

getTwoWeeks = () => {

    let twoWeeks = [];
    let days = 14;
    let today = new Date;
    let calcFirst = today.getDate() - today.getDay();
    let firstDayOfWeek = new Date(today.setDate(calcFirst));

    for(let i=0; i<days; i++) {
        twoWeeks.push( new Date(today.setDate(firstDayOfWeek + days[i])) )
    }

    console.log('twoWeeks===',twoWeeks )
}

您可以先計算本周的星期一,然后從那里迭代到 14 天。

 const today = new Date(); const dayOfWeek = today.getDay(); const lastMonday = new Date(today.setDate(today.getDate() + (dayOfWeek * -1 + 1))); for (let i = 1, d = lastMonday; i <= 14; i++, d.setDate(d.getDate() + 1)) { console.log(new Date(d)); }

您可以按如下方式執行此操作:

 getTwoWeeks = () => { let twoWeeks = []; let days = 14; let today = new Date(); twoWeeks.push(today) for(let i = 0; i < days-1; i++) { var next = new Date(); next.setDate(today.getDate()+1); twoWeeks.push(next); today = next; } console.log('twoWeeks===',twoWeeks ) } getTwoWeeks();

看起來您在 for 循環中濫用了索引“i”。 “days”不是一個數組,它是一個 integer。 嘗試以下操作:

 let twoWeeks = []; let days = 14; let today = new Date; let calcDate = new Date(today.setDate(today.getDate() - today.getDay())); for(let i=0; i<days; i++) { calcDate.setDate(calcDate.getDate() + 1) twoWeeks.push(new Date(calcDate)) } console.log(twoWeeks)

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM