Questo problema è relativamente semplice, potresti risolverlo cosi :

1) crea una funzione che prende la stringa ora per esempio : hourFix(hour){...}

2) utilizza hour.replaceAll() per trasformare i segni '-' in segni con spazi ' - '

3) cattura in una variabile hourToFix il contenuto centrale dell'orario tramite un'espressione regolare
hour.match(/:\d+:/g) per ottenere [ ':0016:' ]

4) crea una varibile hourToReplace da hourToFix.join().split('')
per ottenere una array di questo tipo [ ':', '0', '0', '1', '6', ':' ]

5) utilizza il metodo splice() su hourToReplace per inserire uno spazio nell'array in questo modo:
hourToReplace.splice(3,0,' ')

6) trasforma hourToReplace nuovamente in stringa con il metodo .join() per ottenere una stringa
':00 16:'

7) utilizza il medoto .replace(hourToFix,hourToReplace) per cambiare la parte centrale dell'orario

8) ritorna hour

dunque quando richiama la funzione in questo modo:

const newHour = hourFix('8:30-13:0016:30-20:00')

console.log(newHour) // 8:30 - 13:00 16:30 - 20:00