EvaldoMaciel

Calcula diferenças entre datas e soma as horas

May 18th, 2021
900
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Calcula diferença entre duas datas */
  2. function diferencaData(data1, data2) {
  3.     // Calcula diferênça entre datas
  4.     var date1 = new Date(data1);
  5.     var date2 = new Date(data2);
  6.     var timeDiff = Math.abs((date2.getTime() - date1.getTime()) / 1000 / 60)
  7.     var recebe = timeDiff;
  8.     var hora = (parseInt(recebe / 60) <= 9 ? "0" + parseInt(recebe / 60) : parseInt(recebe / 60));
  9.     var minuto = (parseInt(recebe % 60) <= 9 ? "0" + parseInt(recebe % 60) : parseInt(recebe % 60));
  10.     return hora + ":" + minuto;
  11. }
  12.  
  13. var horas = [
  14.     diferencaData('10/18/2013 01:00:00', '10/18/2013 02:10:00'),
  15.     diferencaData('10/18/2013 01:00:00', '10/18/2013 02:13:00')
  16. ];
  17.  
  18. /* Soma horas */
  19. function somarhoras(horas) {
  20.     var somaDeMinutos = 0;
  21.     horas.forEach(function (e) {
  22.         e.split(":")[0];
  23.         var horas = parseInt(e.split(":")[0]);
  24.         var horasEmMinutos = horas * 60;
  25.         var minutos = parseInt(e.split(":")[1]);
  26.         somaDeMinutos += horasEmMinutos + minutos;
  27.     });
  28.     console.log(somaDeMinutos);
  29.     var saidaHora = (parseInt(somaDeMinutos / 60) <= 9 ? "0" + parseInt(somaDeMinutos / 60) : parseInt(somaDeMinutos / 60));
  30.     var saidaMinuto = (parseInt(somaDeMinutos % 60) <= 9 ? "0" + parseInt(somaDeMinutos % 60) : parseInt(somaDeMinutos % 60));
  31.     return saidaHora + ":" + saidaMinuto;
  32. }
  33.  
  34. somarhoras(horas);
RAW Paste Data