Conversão de Horas para minutos e Minutos para Hora

Pessoal estou precisando de uma ajuda:

Tenho uma rotina que preciso fazer um loop para gravar no Banco Agenda uma faixa de horas no dia da semana, porém estou tendo problema na conversão no PHP de horas para minutos e depois de minutos para hora.

Exemplo:
Tenho um periodo para acrescentar um horário : 07:00 am até 17:30 com intervalo de 10 minutos

Segunda-Feira
07:00
07:10
07:20
07:30
07:40

17:30

Porém para somar em 10 em 10 minutos preciso converter a faixa inicial que é 07:00 em minutos somar em 10 em 10 minutos e comparar com a hora final 17:30, e a cada somatória converter novamente em horas para gravar no banco a hora correta, para continuar a somar

Estou pesquisando no SC não tem nenhuma macro para converter, e na Net estou com dificuldade de enter alguns códigos de exemplo, caso alguém tenha por favor poderia me ajudar?

Muito Obrigado
Adeilson de Oliveira

converta tudo para segundos, faça a conta depois converta em horas,minutos e segundos

Haroldo,

Muito Obrigado,

Eu fiz uma função para converter hora em minutos,

            $var_array_h_m = explode(":",$var_abertura_h_hs_inicio);
	$var_array_h_m[0];
	$var_array_h_m[1];		
	$var_tot_minutos = ($var_array_h_m[0] *60);
	$var_tot_minutos = $var_tot_minutos + $var_array_h_m[1];

	echo "Total de minutos convertido é: ".$var_tot_minutos;

Porém pelo que você comentou seria melhor transformar em segundos, estou pensando em mudar de ( * 60 para * 3600). Porém para fazer o inverso de segundos para hora novamente, vc teria algo já pronto, alguma função?

Adeilson de Oliveira

http://forum.zwame.pt/showthread.php?t=387598&page=1

segue abaixo a funcção para fazer a converção e recuperação da hora.

Miguel

<?php function converte_data($data){ //data no formato DD/MM/YYYY ou YYYY/MM/DD $texto=explode("-",$data); return $texto[2]."/".$texto[1]."/".$texto[0]; } ?>

function segundos_hora($Hora_Seg)
{
$hora=0; $minuto=0; $segundo=0;$temp=0;
//Encontrando a Hora
$temp = ($Hora_Seg / 3600);
$hora = Round((int)$temp);

//Encontrando os Minutos
$tmp_seg = Round( $Hora_Seg - ($hora * 3600)) ;
$temp = $tmp_seg / 60;
$minuto = Round((int)$temp);

$temp = Round(($tmp_seg - ($minuto * 60)));
$segundo = $temp ;

$segundo_hora = str_pad($hora, 2, “0”, STR_PAD_LEFT) . “:”. str_pad($minuto, 2, “0”, STR_PAD_LEFT).":". str_pad($segundo, 2, “0”, STR_PAD_LEFT);

return $segundo_hora;
}

function calcular_tempo($data_ini,$hora_ini,$data_fim,$hora_fim){

$data_ini_proc = explode("-",$data_ini);        
    $dia_ini  = $data_ini_proc['2'];
    $mes_ini  = $data_ini_proc['1'];
    $ano_ini  = $data_ini_proc['0'];

    $hora_inic = substr($hora_ini,0,2);
    $minu_ini  = substr($hora_ini,3,2);
    $segu_ini  = substr($hora_ini,6,2);

    $data_fim_proc = explode("-",$data_fim);
    $dia_fim  = $data_fim_proc['2'];
    $mes_fim  = $data_fim_proc['1'];
    $ano_fim  = $data_fim_proc['0'];

    $hora_fin = substr($hora_fim,0,2);
    $minu_fim = substr($hora_fim,3,2);
    $segu_fim = substr($hora_fim,6,2);
    
    $data_final   = mktime($hora_fin,$minu_fim,$segu_fim,$mes_fim,$dia_fim,$ano_fim);

    $data_inicial = mktime($hora_inic,$minu_ini,$segu_ini,$mes_ini,$dia_ini,$ano_ini);
        
$tempo = ($data_final-$data_inicial); 

    //echo 'Resultado: '.$tempo."<br>";

return $tempo;

}

function restaurar_tempo($tempo_exec){

$dia = $tempo_exec/86400;

$hora = $dia - (int)$dia;
$hora = ($hora*86400)/3600;

$minuto = $hora - (int) $hora;
$minuto = ($minuto*3600)/60;

$segundo = $minuto - (int) $minuto;
$segundo = $segundo*60;

$dia = (int) $dia;
$hora = (int) $hora;
$minuto = (int) $minuto;
$segundo = (int) $segundo;

    	$resp = "Dia(s)    : ".$dia.   " Hora(s)   : ".$hora."<br>";
    $resp = $resp . "Minuto(s) : ".$minuto." Segundo(s): ".$segundo;
    
    $resultado = $resp;
//$resp = $dia." Dia(s) ".$hora." hora(s) ".$minuto." minuto(s) ".$segundo." segundo(s)" ;

return($resultado);

}

?>

Somar uma coluna HH:MM:SS em uma consulta(grid).

http://iw.servehttp.com/sc/app/RegistroDiario/login/

user: teste
senha: teste

boa tarde Haroldo.

Você não poderia disponibilizar esse exemplo .

Estou exatamente precisando disso.

fico no aguardo

e Obrigado

Nigri

Posso disponibilizar as funções de conversão.
O sistema somente através de nossa loja.

Bom dia Haroldo,

Por favor ficarei muito grato

um abraço

Nigri

crie uma biblioteca:

[code]<?php
function toHour($_sec=‘0’)
{
$_h=(int) ($_sec/3600);
$_hms=str_pad($_h,2,‘0’,STR_PAD_LEFT).’:’;
$_m=(int) (($_sec-($_h3600))/60);
$_hms.=str_pad($_m,2,‘0’,STR_PAD_LEFT).’:’;
$_s=$_sec-(($_h
3600)+($_m*60));
$_hms.=str_pad($_s,2,‘0’,STR_PAD_LEFT);
return $_hms;
}

function toSecond($_hms=‘00:00:00’)
{
$_arr=explode(":",$_hms);
$_sec=($_arr[0]*3600)+($_arr[1]*60)+$_arr[2];
return $_sec;
}
?>
[/code]