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

Transformar Segundos Em Hora (ex: 80seg Em 1min20seg)


kuroi

Pergunta

Esse é pra quem calcula diferenca em segundos e depois quer escrever o valor em minutos ou horas.

Exemplo, você tem um intervalo de 80 segundos e quer transformar em 1 minuto e 20 segundos.

ou tem 3600 segundos e quer transformar em 1 hora.

Note q se você tem o valor em minutos e quer transformar em hora é só multiplicar por 60 e usar a funcao abaixo.

Essa funcao vai transformar no formato H:MM:SS. caso você queira um formato diferente, é simples, é so editar no final onde a string é montada, sem se preocupar com os calculos.

A funcao tb suporta valores negativos, pondo um sinal de - na frente (exemplo -80, vai retornar - 0:01:20):

Public Function MontaHora(ByVal Seg As Long) As String
    Dim Hor As Long, Min As Long
    
    If Seg < 0 Then
        MontaHora = "- "
        Seg = Abs(Seg)
    Else
        MontaHora = ""
    End If
    
    Hor = Seg \ 3600&
    Seg = Seg - (Hor * 3600&)
    
    Min = Seg \ 60&
    Seg = Seg - (Min * 60&)
    
    MontaHora = MontaHora & Hor & ":" & _
        Format(Min, "0#") & ":" & _
        Format(Seg, "0#")
End Function[/code]

EDITADO:

dei uma melhorada na funcao, q o codigo estava muito ruim (28/10/2010).

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

3 respostass a esta questão

Posts Recomendados

  • 0

Se estiver usando o MySQL, creio que ele tenha uma função capaz de realizar este feito.

Eu mesmo vou precisar disso em breve.

Achei a função que converte um montante de segundos em formato de horas é sec_to_time.

Exemplo:

Instrução: select sec_to_time(3600);

Resultado: 01:00:00

Espero que seja útil.

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

  • 0
Se estiver usando o MySQL, creio que ele tenha uma função capaz de realizar este feito.

Eu mesmo vou precisar disso em breve.

Achei a função que converte um montante de segundos em formato de horas é sec_to_time.

Exemplo:

Instrução: select sec_to_time(3600);

Resultado: 01:00:00

acho q os desenvolvedores do mysql copiaram meu codigo hehehaha

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