// Ejemplo: https://jsfiddle.net/erknrio/ykwnoLa0/

// Creamos funcion para generar horas que recibe el intervalo de minutos
function generateHours(minInterval) {
  var i = 0, j= 0, numMinLoops = 60 / parseInt(minInterval, 10), sum = 0, hours = [];

  // Realizamos un bucle para recorrer las 24h del dia
  for (i = 0; i < 24; i++) {
    if (i < 10) {
      i = '0' + i;
    }
    
    sum = minInterval
    
    for (j = 0; j < numMinLoops ; j++) {
      // Agregamos la hora en punto, 00
    	if (j === 0) {
      	hours.push(i + ':00');
      } else {
      	if (sum < 10) {
        	sum = '0' + sum;
        }

        // Si no es la hora en punto agregamos el intervalo de minutos.
      	hours.push(i + ':' + sum);
      	// Reconvertimos y a int ara evitar problemas con la iteracion
      	i = parseInt(i, 10);
        sum = parseInt(sum, 10) + minInterval;
      }
    }
  }
  
  return hours;
}

// Generamos intervalos de 30 minutos
var hoursArray = generateHours(30).join(' ');