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

Como formatar a data e hora após calcular a diferença


acmsoft

Pergunta

Oi,

Preciso de uma função que devolva a data+hora formatada após calcular a diferença entre dois timestamps.

Fiz essa função:

<?php
function Subtraidata($tmpFinal,$tmpInicial){
    $hora = $tmpFinal - $tmpInicial;
    $mascara = '';

    if ($hora<60) { //1 minuto
        $mascara .= "s";
    } else if ($hora<3600) { //1 hora
        $mascara .= "i:s";
    } else if ($hora<3600*24) { //1 dia
        $mascara .= "G:i:s";
    } else if ($hora<3600*24*30) { //1 mês
        $mascara .= "d G:i:s";
    } else if ($hora<3600*24*30*12) { //1 ano
        $mascara .= "m-d G:i:s";
    } else {
        $mascara .= "Y-m-d G:i:s";
    }        
    return date($mascara, $hora);
}
?>

A função funciona bem desde que a diferença seja inferior a 28 dias. A partir dai pode dar erros porque o mês de fevereiro pode ter 28 ou 29 dias.

Alguém tem alguma sugestão para ultrapassar a questão dos anos bissextos?

Também li em outro fórum que tem uma função no php5 que faz isto mas não dizem qual é. Alguém sabe?

Obrigado pelas dicas :rolleyes:

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

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...