Autor Tópico: Conversão de Horas para minutos e Minutos para Hora  (Lida 8800 vezes)

Adesoft

  • Avançado
  • ****
  • Mensagens: 355
    • Email
Conversão de Horas para minutos e Minutos para Hora
« Online: Dezembro 20, 2010, 11:11:50 am »
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
Adeilson de Oliveira
THS do Brasil

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re: Conversão de Horas para minutos e Minutos para Hora
« Responder #1 Online: Dezembro 20, 2010, 12:30:56 pm »
converta tudo para segundos, faça a conta depois converta em horas,minutos e segundos

Adesoft

  • Avançado
  • ****
  • Mensagens: 355
    • Email
Re: Conversão de Horas para minutos e Minutos para Hora
« Responder #2 Online: Dezembro 20, 2010, 03:38:37 pm »
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
Adeilson de Oliveira
THS do Brasil

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase

miguell

  • Iniciante
  • **
  • Mensagens: 61
    • Email
Re: Conversão de Horas para minutos e Minutos para Hora
« Responder #4 Online: Fevereiro 09, 2011, 04:24:50 pm »
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);
}

?>
Sérgio Miguel
Analista de Sistemas
MS WORKS INFORMÁTICA SC LTDA
(11) 2937-8938 - Comercial
(11) 96367-6916 - Celular
Rua Hermenegildo Orsi, 149 -Jardim Acácio - Guarulhos - SP - 7144-130

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Conversão de Horas para minutos e Minutos para Hora
« Responder #5 Online: Outubro 26, 2012, 02:29:22 pm »
Somar uma coluna HH:MM:SS  em uma consulta(grid).

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

user: teste
senha: teste

nigri

  • Intermediário
  • ***
  • Mensagens: 163
    • Email
Re:Conversão de Horas para minutos e Minutos para Hora
« Responder #6 Online: Outubro 26, 2012, 04:41:26 pm »
boa tarde Haroldo.

Você não poderia disponibilizar esse exemplo .

Estou exatamente precisando disso.

fico no aguardo

e Obrigado

Nigri





Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Conversão de Horas para minutos e Minutos para Hora
« Responder #7 Online: Outubro 26, 2012, 05:43:01 pm »
Posso disponibilizar as funções de conversão.
O sistema somente através de nossa loja.

nigri

  • Intermediário
  • ***
  • Mensagens: 163
    • Email
Re:Conversão de Horas para minutos e Minutos para Hora
« Responder #8 Online: Outubro 27, 2012, 08:04:59 am »
Bom dia Haroldo,

Por favor ficarei muito grato

um abraço

Nigri

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Conversão de Horas para minutos e Minutos para Hora
« Responder #9 Online: Outubro 27, 2012, 05:09:16 pm »
crie uma biblioteca:

Código: [Selecionar]
<?php
function toHour($_sec='0'
{
$_h=(int) ($_sec/3600);
$_hms=str_pad($_h,2,'0',STR_PAD_LEFT).':';
$_m=(int) (($_sec-($_h*3600))/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;
}
?>


boa tarde Haroldo.

Você não poderia disponibilizar esse exemplo .

Estou exatamente precisando disso.

fico no aguardo

e Obrigado

Nigri