Atualizado em 07 de Janeiro de 2015

Calcular Diferença entre Horas com PHP

Olá pessoal,

Bem vindos ao primeiro post de 2015.

Neste primeiro post do ano vamos ver uma função que faz muita falta quando estamos trabalhando com horas, nele vamos aprender como Calcular Diferença entre Horas com PHP.

Em um post anterior de Como Calcular Hora com PHP o leitor Eduardo fez esta pergunta, então fica ai o registro.

Vamos à função e como usá-la:

<?php

$horaA = '17:22:00';
$horaB = '18:02:00';

echo calculaTempo($horaA, $horaB);


function calculaTempo($hora_inicial, $hora_final) {
$i = 1;
$tempo_total;

$tempos = array($hora_final, $hora_inicial);

foreach($tempos as $tempo) {
  $segundos = 0;

  list($h, $m, $s) = explode(':', $tempo);

  $segundos += $h * 3600;
  $segundos += $m * 60;
  $segundos += $s;

  $tempo_total[$i] = $segundos;

  $i++;
 }
$segundos = $tempo_total[1] - $tempo_total[2];

$horas = floor($segundos / 3600);
$segundos -= $horas * 3600;
$minutos = str_pad((floor($segundos / 60)), 2, '0', STR_PAD_LEFT);
$segundos -= $minutos * 60;
$segundos = str_pad($segundos, 2, '0', STR_PAD_LEFT);

return "$horas:$minutos:$segundos";
}

?>


Gostou do post, continue por dentro das dicas de programação!!! Assine a newsletter.


E isso aí pessoal, até a próxima.

Tags:  Funções | PHP

Comentários

Sua foto do perfil

David j

Muito bom é isso que estava procurando

24 de Janeiro de 2016 - 13:06

Sua foto do perfil

Rafael Assis

Muito bom, funcionou perfeitamente.

22 de Setembro de 2015 - 11:13

Sua foto do perfil

Oseias

Parabéns, procurei muitos exemplos, somente este resolveu.

12 de Setembro de 2015 - 14:09

Sua foto do perfil

Rafael

Cara, muito bom.
Fiz umas adaptações, pois no meu caso preciso das horas sempre no formato 'hhmmss' e sua função devolve 'h:mm:ss' para horas com apenas um digito.

Valeu!

22 de Abril de 2015 - 17:30

Sua foto do perfil

Marcelo Gomes

Muito bom, parabéns pelo trabalho =D

29 de Janeiro de 2015 - 05:06

NEWSLETTER

Receba dicas de programação
em seu e-mail

TWITTER

Acompanhe tudo o que rola
com Mauricio Programador

NEWSLETTER