cómo convertir los minutos en horas y minutos con el tiempo restado (valores de tiempo restados)

Quiero restar los dos diferentes formatos de 24 horas.

Lo había intentado con lo siguiente:

var startingTimeValue = 04:40;
var endTimeValue = 00:55;
var hour = startingTimeValue.split(":");
var hour1 = endTimeValue.split(":");

var th = 1 * hour[0] - 1 * hour1[0];
var tm = 1 * hour[1] - 1 * hour1[1];

var time = th+":"+tm;

Este código funciona bien si los segundos minutos no son mayores que los primeros, pero en otros casos devolverá valores negativos.

Los valores de ejemplo de código anteriores resultan:

time1 : 04:40
time2 : 00:55

El resultado debe ser: 03:45 (h: mi) formato. Pero ahora mismo estoy obteniendo 04: -5 con un valor negativo.

He intentado con el enlace como:restar minutos de tiempo calculado javascript Pero esto no funciona con el formato 00:00. Entonces, ¿cómo calcular el valor del resultado y convertirlo en horas y minutos?

Respuestas a la pregunta(4)

Su respuesta a la pregunta