Ir para conteúdo
Fórum Script Brasil
  • 0

converter o formato de horas para efetuar cálculos


Valderes

Pergunta

Prezados colegas estou com um pequeno problema:

Estou trabalhando em um projeto onde o visitante do site informará um tempo em um form no formato hh:mm:ss. No arquivo que receberá os dados para processar, a variável $tempo recebe, por exemplo 00:02:30.

Preciso utilizar esta variável para outros cálculos, uma forma seria convertê-la para inteiro. Gostaria de saber como posso fazer isso: converter tempo em inteiro.

Preciso converter o valor de $tempo em minutos. Que neste caso ficaria como 2,5 minutos

Tentei usar o "explode" e depois o "mktime", conforme abaixo:

$tempo = explode (":", $tempo );
$tempo = mktime ($tempo[0], $tempo[1], $tempo[3], 0, 0, 0);

Mas não está dando certo.

Será que tem alguma alma generosa para dar uma dica.

Editado por Valderes
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Bom, já que está usando o explode para separar, a lógica é a seguinte, basta fazer um pequeno calculo com cada variavel e somar no final, por exemplo:

Pegue os segundos e divida por 60, e as horas e multiplique por 60, pronto, agora todas as 3 variaveis vão estar em minutos, ai é só somar os 3.

PS: esqueci de acrescentar, no final use o comando intval(); para converter para inteiro.

Editado por *FIT*
Link para o comentário
Compartilhar em outros sites

  • 0
Bom, já que está usando o explode para separar, a lógica é a seguinte, basta fazer um pequeno calculo com cada variavel e somar no final, por exemplo:

Pegue os segundos e divida por 60, e as horas e multiplique por 60, pronto, agora todas as 3 variaveis vão estar em minutos, ai é só somar os 3.

PS: esqueci de acrescentar, no final use o comando intval(); para converter para inteiro.

Obrigado pela dica *FIT*

Não tinha pensado nisso, talvez porque a soluão seja simples.

Vou testar

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, as vezes é tão simples que não pensamos né...isso acontece sempre, rs

Tenta ai, e depois avisa se conseguiu, caso contrario, tenho uma função pronta pra isso, embora seja um pouco maior, e acredito que desnecessária.

Link para o comentário
Compartilhar em outros sites

  • 0
Sim, as vezes é tão simples que não pensamos né...isso acontece sempre, rs

Tenta ai, e depois avisa se conseguiu, caso contrario, tenho uma função pronta pra isso, embora seja um pouco maior, e acredito que desnecessária.

Sua dica deu certo.

$largura     = $_POST['largura'];
$comprimento = $_POST['comprimento'];
$tempo       = $_POST['tempo'];
$producao    = $_POST['produtcao'];

$tempo   = explode (":", $tempo );
$hora    = $tempo[0];
$minuto  = $tempo[1];
$segundo = $tempo[2];

$hora_minuto    = ($hora * 60);
$segundo_minuto = ($segundo / 60);
$tempo = $hora_minuto + $minuto + $segundo_minuto;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...