Ads Top

[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:

Tecnologia do Blogger.