JSFiddle - React, Tailwind, and code Playground
HTML
<label id="lblTime"></label>
JavaScript
var startTime = '03:00 AM';
var newStartTime = startTime;
var endTime = '05:00 AM';
var minutes=0;
var hours=0;
var timeArray=[];
var ampm='';
var executing=true;
while(executing) {
timeArray.push(newStartTime);
minutes = Number(minutes) + 30;
hours = newStartTime.split(' ')[0].split(':')[0]
ampm= newStartTime.split(' ')[1];
if(minutes > 59) {
if(Number(hours) > 12) {
ampm = newStartTime.split(' ')[1] == 'AM'?'PM':'AM';
hours = '01';
}
else {
hours = Number(hours) + 1;
if(hours.toString().length ==1) {
hours = '0' + hours;
}
}
minutes = minutes - 60;
}
if(minutes.toString().length ==1) {
minutes = '0' + minutes;
}
newStartTime = hours + ':' + minutes+' ' +ampm;
if(Number(newStartTime.split(' ')[0].split(':')[0]) > Number(endTime.split(' ')[0].split(':')[0])){
if(newStartTime.split(' ')[1] == endTime.split(' ')[1])
executing = false;
}
else if(Number(newStartTime.split(' ')[0].split(':')[0]) == Number(endTime.split(' ')[0].split(':')[0])) {
if(Number(newStartTime.split(' ')[0].split(':')[1]) >= Number(endTime.split(' ')[0].split(':')[1])) {
if(newStartTime.split(' ')[1] == endTime.split(' ')[1])
executing = false;
}
}
}
timeArray.push(endTime);
document.getElementById('lblTime').innerText = timeArray;