Javascript中對時間的處理是非常重要的,經(jīng)常需要對時間進行計算、比較和顯示。Javascript內(nèi)置的Date對象,可以方便地獲取系統(tǒng)當前的時間,但是對于一些需要處理時間的應(yīng)用場景,我們需要創(chuàng)建時間數(shù)組,方便地對一段時間進行操作。
一個時間數(shù)組可以包含多個時間點,我們可以通過遍歷時間數(shù)組來獲取每個時間點的具體信息。比如我們有一個時間數(shù)組arr,包含了本周一到本周五每天上班的具體時間點,我們可以通過以下代碼來獲取本周五下班的時間:
var arr = [
new Date(2022, 0, 10, 8, 30), //周一上班時間
new Date(2022, 0, 11, 8, 30), //周二上班時間
new Date(2022, 0, 12, 8, 30), //周三上班時間
new Date(2022, 0, 13, 8, 30), //周四上班時間
new Date(2022, 0, 14, 8, 30) //周五上班時間
];
var endTime = arr[4].setHours(18, 0);
console.log(new Date(endTime)); // 2022-01-14T10:00:00.000Z
上面的代碼中,我們通過setHours方法設(shè)置了本周五下班時間的具體小時數(shù)和分鐘數(shù),最后轉(zhuǎn)化為Date類型的數(shù)據(jù)。可以看到輸出的結(jié)果是正確的下班時間。
時間數(shù)組也可以用于記錄一段時間內(nèi)的事件,比如我們有一個數(shù)組記錄了本周一到本周五某人每天上班的具體時間點,我們可以通過遍歷時間數(shù)組,計算這段時間內(nèi)每天的工作時長:
var startTime = new Date(2022, 0, 10, 8, 30); //本周一上班時間
var workHours = 0;
for(var i = 1; i< 5; i++){
var endTime = arr[i].getTime();
var diff = endTime - startTime.getTime();
workHours += diff/1000/60/60;
//將時間差毫秒數(shù)轉(zhuǎn)化為小時數(shù)并累加
startTime = arr[i];
}
console.log('本周工作時長為:' + workHours + '小時');
上面的代碼中,我們通過循環(huán)遍歷時間數(shù)組計算出每天的工作小時數(shù),并累加到workHours變量中,最后輸出本周的工作時長。可以看到輸出結(jié)果為“本周工作時長為:32小時”,表示這個人本周工作了32小時。
除了遍歷時間數(shù)組,我們還可以使用更高級的時間處理庫來對時間進行計算和轉(zhuǎn)換。比如moment.js是一款非常強大的時間處理庫,可以方便地對時間進行格式化、計算和比較。
總之,使用時間數(shù)組可以方便地對一段時間進行操作,讓時間計算和轉(zhuǎn)換變得更加簡單和高效。