let inputDate = document.querySelector(".inputDate"),
submit = document.querySelector(".submit"),
currentDate = document.querySelector(".currentDate"),
dateAfter = document.querySelector(".dateAfter"),
futureDays = document.querySelector(".futureDays");
submit.onclick = (e) => {
e.preventDefault;
futureDays.innerText = "";
let newDate = new Date(inputDate.value);
let something = newDate / 1000;
let something2 = new Date(something * 1000);
let firstDate =
something2.getDate()
"-"
(something2.getMonth()
1 )
"-"
something2.getFullYear();
let inSeconds = Math.floor(newDate.getTime() / 1000);
let myArr = [];
for (let i = 0; i < 5; i ) {
let sixDays = Math.floor((newDate.setDate(newDate.getDate() 7) / 1000));
let newDateFormat = new Date(sixDays * 1000);
myArr.push(
" "
newDateFormat.getDate()
"-"
(newDateFormat.getMonth() 1)
"-"
newDateFormat.getFullYear()
" "
);
// myArr.push(sixDays);
futureDays.innerText = myArr;
}
};
<input type="date" name="" id="" class="inputDate" data-date-format="DD MMMM YYYY">
<button class="submit">Submit</button>
<div class="currentDate"></div>
<div class="dateAfter"></div>
<div class="futureDays"></div>
我試圖在特定日期(用戶提供)之后獲得下一個 5 個日期,其間間隔為 7 天。我能夠獲取接下來的 5 個日期并將它們存盤在一個陣列中,但是我無法獲取用戶在陣列中選擇的第一個日期。
JS:
submit.onclick = (e) => {
e.preventDefault;
futureDays.innerText = "";
let newDate = new Date( inputDate.value );
// First Date
let something = newDate / 1000;
let something2 = new Date(something * 1000);
let firstDate =
something2.getDate()
"-"
(something2.getMonth()
1 )
"-"
something2.getFullYear();
let myArr = [];
for ( let i = 0; i < 5; i ) {
let sixDays = Math.floor( ( newDate.setDate(newDate.getDate() 7 ) / 1000 ) );
let newDateFormat = new Date( sixDays * 1000 );
myArr.push(
" "
newDateFormat.getDate()
"-"
(newDateFormat.getMonth() 1)
"-"
newDateFormat.getFullYear()
" "
);
futureDays.innerText = firstDate myArr;
}
};
第一個日期評論,在此我能夠獲得第一個日期(用戶提供)并且能夠將其添加到陣列中,但是有沒有一種方法可以默認將用戶選擇的日期包含在陣列中。
uj5u.com熱心網友回復:
您可以在初始化陣列時將其指定為陣列元素,例如:
let myArr = [inputDate.value];
let inputDate = document.querySelector(".inputDate"),
submit = document.querySelector(".submit"),
currentDate = document.querySelector(".currentDate"),
dateAfter = document.querySelector(".dateAfter"),
futureDays = document.querySelector(".futureDays");
submit.onclick = (e) => {
e.preventDefault;
futureDays.innerText = "";
let newDate = new Date(inputDate.value);
let something = newDate / 1000;
let something2 = new Date(something * 1000);
let firstDate =
something2.getDate()
"-"
(something2.getMonth()
1 )
"-"
something2.getFullYear();
let inSeconds = Math.floor(newDate.getTime() / 1000);
let myArr = [inputDate.value];
for (let i = 0; i < 5; i ) {
let sixDays = Math.floor((newDate.setDate(newDate.getDate() 7) / 1000));
let newDateFormat = new Date(sixDays * 1000);
myArr.push(
" "
newDateFormat.getDate()
"-"
(newDateFormat.getMonth() 1)
"-"
newDateFormat.getFullYear()
" "
);
// myArr.push(sixDays);
futureDays.innerText = myArr;
}
};
<input type="date" name="" id="" class="inputDate" data-date-format="DD MMMM YYYY">
<button class="submit">Submit</button>
<div class="currentDate"></div>
<div class="dateAfter"></div>
<div class="futureDays"></div>
uj5u.com熱心網友回復:
// 為了方便起見,使用 date-fns
import { addDays } from 'date-fns';
const startDate = new Date(); // or user provided date
let daysNeeded = [];
const gap = 5;
daysNeeded.push(startDate);
for(let i = 1; i<=5 ; i ) {
daysNeeded.push(dateFns.addDays(startDate , i gap))
}
console.log('days', daysNeeded);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/508337.html
標籤:javascript 数组
上一篇:這是什么語言,檔案是javascript。<%=%>以及如何做一個三進制
下一篇:合并兩個具有共享值的陣列