[Javascript] - Como converter horas em decimal
Para fazer alguns cálculos com horas em javscript, precisamos transformar as horas em decimal.
Por exemplo:
Quero calcular as horas excedentes vezes um valor pré determinado, 34:53:00 * R$35,00, se multiplicarmos teremos: R$1208,55, porém o cálculo está errado, o correto seria transformar em:
Agora multiplicaremos 34.8833 * R$35,00 = R$1220,91.
A solução em Javascript é essa:
function timeToDecimal(t) {
if (/^\d{1,2}\w+\d{1,2}$/gi.test(t)) {
throw new Error("Insira uma horário válido, fmt: 00:00");
}
const [hour, min ] = t.split(':');
const dec = parseInt((min / 6) *10, 10);
return parseFloat(parseInt(hour, 10) + '.' + ( dec < 10 ? '0' : '') + dec);
}
Por enquanto está funcionando em nosso código, se tiver alguma outra solução deixe nos comentários.
Nenhum comentário:
Postar um comentário