13:00 - 13:30
13:30 - 14:00
14:00 - 14:30
14:30 - 15:00
увидеть его в действии
var makeTimeIntervals = function (startTime, endTime, increment) {
startTime = startTime.toString().split(':');
endTime = endTime.toString().split(':');
increment = parseInt(increment, 10);
var pad = function (n) { return (n < 10) ? '0' + n.toString() : n; },
startHr = parseInt(startTime[0], 10),
startMin = parseInt(startTime[1], 10),
endHr = parseInt(endTime[0], 10),
endMin = parseInt(endTime[1], 10),
currentHr = startHr,
currentMin = startMin,
previous = currentHr + ':' + pad(currentMin),
current = '',
r = [];
do {
currentMin += increment;
if ((currentMin % 60) === 0 || currentMin > 60) {
currentMin = (currentMin === 60) ? 0 : currentMin - 60;
currentHr += 1;
}
current = currentHr + ':' + pad(currentMin);
r.push(previous + ' - ' + current);
previous = current;
} while (currentHr !== endHr);
return r;
};
var a = makeTimeIntervals('13:00', '15:00', 30);
for (var i in a) if (a.hasOwnProperty(i)) { document.body.innerHTML += a[i] + '<br />'; }