我正在嘗試創建一個動態日歷。我有開放和關閉時間。
我想制作一個回圈來獲得這兩次之間的所有半小時時段。
目標是創建一個包含這些計劃串列的 div。
你有一個方法,一個想法請幫我實作這個?
我的資料在 json 檔案中,如下所示:
"minMax": {
"min": "07:00",
"max": "18:00"
}
(我已經檢索了當天)我的目標是顯示時間表。
const minHour = week[weekNumber].minMax.min // => 07:00
const maxHour = week[weekNumber].minMax.max // => 18:00
問題是我不知道如何在最小小時和最大小時之間將時間表分成半小時。
感謝您的幫助和時間。
uj5u.com熱心網友回復:
根據您提供的資訊,我想出了這個解決方案來生成半小時時段。如果需要進行任何更正或處理邊緣情況,請告訴我。
function halfHourSlots(min, max) {
let slots = [];
let [minHour] = min.split(':');
let [maxHour] = max.split(':');
minHour = Number(minHour);
maxHour = Number(maxHour);
while (minHour != maxHour) {
let halfHourString = `${minHour}:30`.padStart(
2,
'0'
);
minHour = 1;
let hourString = `${
minHour == 24 ? '00' : minHour
}:00`.padStart(2, '0');
slots.push(halfHourString);
slots.push(hourString);
}
return slots;
}
console.log(halfHourSlots('07:00', '18:00'));
uj5u.com熱心網友回復:
你可以試試這個
var convertValue = time => ((hour,min) => hour*2 min/30)(...time.split(':').map(parseFloat)),
toTime = int => [Math.floor(int/2), int%2 ? '30' : '00'].join(':'),
range = (from, to) => Array(to-from 1).fill().map((_,i) => from i),
halfHourInterval = (t1, t2) => range(...[t1, t2].map(convertValue)).map(toTime);
console.log(halfHourInterval('07:00', '15:30'));
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/454530.html
標籤:javascript 循环 时间 分裂
