I\'m trying to create an array of times (strings, not Date objects) for every X minutes throughout a full 24 hours. For example, for a 5 minute interval the arr
This snippet generates a range base on locale, so you do not need to handle AM/PM manually. By default, it will use browser language, but you can pass a user-selected one.
function getTimeRanges(interval, language = window.navigator.language) {
const ranges = [];
const date = new Date();
const format = {
hour: 'numeric',
minute: 'numeric',
};
for (let minutes = 0; minutes < 24 * 60; minutes = minutes + interval) {
date.setHours(0);
date.setMinutes(minutes);
ranges.push(date.toLocaleTimeString(language, format));
}
return ranges;
}
console.log('English', getTimeRanges(30, 'en'));
console.log('Russian', getTimeRanges(30, 'ru'));