Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

igorcb

Somar Hora

Recommended Posts

ae pessoal alguem tem algum script onde some horas, por expemlohora1 = 12:00:00 hora atualhora2 = 01:40:00 quantidades de horas a ser somadohora3 = 13:40:00 resultado da soma de horas (hora1 + hora2)value galera.

Compartilhar este post


Link para o post
Compartilhar em outros sites

um exemplo:

<?

function somar_horas($data,$anos=0,$meses=0,$dias=0,$horas=0,$minutos=0,$segundos=0){

$vetor = explode(" ",$data);

$vetor2 = explode("-",$vetor[0]);

$vetor3 = explode(":",$vetor[1]);

$segundo = $vetor3[2];

$minuto = $vetor3[1];

$hora = $vetor3[0];

$dia = $vetor2[2];

$mes = $vetor2[1];

$ano = $vetor2[0];

$data_inicial = mktime($hora, $minuto, $segundo, $mes, $dia, $ano);

$valores = "+".$anos." years";

$valores .= " +".$meses." months";

$valores .= " +".$dias." days";

$valores .= " +".$horas." hours";

$valores .= " +".$minutos." minutes";

$valores .= " +".$segundos." seconds";

$retornar = strtotime ($valores, $data_inicial);

return date("Y-m-d H:i:s",$retornar);

}

 

echo somar_horas(date("Y-m-d H:i:s"),0,0,0,1,0,0);

?>

somar_horas(DATA_INICIAL,ANOS,MESES,DIAS,HORAS,MINUTOS,SEGUNDOS);

onde DATA_INICIAL deve ter o formato "aaaa-mm-dd hh:mm:ss"

 

 

 

ANOS -> quantidade de anos a somar

MESES -> quantidade de meses a somar

...

 

 

a imagem da data/hora é retornada no formato: "aaaa-mm-dd hh:mm:ss"

esse formato é especificado no "return" da função

return date("Y-m-d H:i:s",$retornar);

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?function somar_horas($data,$anos=0,$meses=0,$dias=0,$horas=0,$minutos=0,$segundos=0){ $vetor = explode(" ",$data); $vetor2 = explode("-",$vetor[0]); $vetor3 = explode(":",$vetor[1]); $segundo = $vetor3[2]; $minuto = $vetor3[1]; $hora = $vetor3[0]; $dia = $vetor2[2]; $mes = $vetor2[1]; $ano = $vetor2[0]; $data_inicial = mktime($hora, $minuto, $segundo, $mes, $dia, $ano); $data_inicial = mktime($hora, $minuto, $segundo); $valores = "+".$anos." years"; $valores .= " +".$meses." months"; $valores .= " +".$dias." days"; $valores .= " +".$horas." hours"; $valores .= " +".$minutos." minutes"; $valores .= " +".$segundos." seconds"; $retornar = strtotime ($valores, $data_inicial); $retorna_data = strtotime ($valores, $data_inicial); $retornar_hora = strtotime ($valores, $data_inicial); return date("Y-m-d H:i:s",$retornar); return date("Y-m-d",$retornar_data); return date("H:i:s",$retornar_hora);}echo somar_horas(date("Y-m-d H:i:s"),0,0,0,0,0,0);?>tem como nessa função ter 3 tipos de retorno 1 com date e hora, outro com date e outro apenas com a hora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mutante este seu exemplo é ótimo, super compacto, mas dá o seguinte erro:

Warning: date(): Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in c:\meucodigo.php on line 11

Como corrigir???

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.