Categorias

Retornar a diferença do tempo em minutos por extenso

Retornar a diferença do tempo em minutos por extenso

Esta função realiza uma diferença de minutos para o tempo no instante e retorna o resultado em Minutos, Horas, Dias, Meses e Anos dependendo do tamanho em minutos passados.

Esta função sempre fará o arredondamento dos minutos

Por exemplo:

– Se for passado 59 a função retornará “59 minutos”
– Para 60 o retorno será “1 hora”
– Para 62 o retorno também será “1 hora”
– Para 1440 o retorno será “1 dia”
– Para 43200 o retorno será “1 mês”
– Para 518400 o retorno será “1 ano”

Esta função pode ser muito útil na hora de mostrar, por exemplo, a quanto tempo atrás foi a data da última alteração de um arquivo, ou a quanto tempo foi a data do último login. As utilizações são variadas.

'-----------------------------------------------------
'Funcao: getTempoExtenso(ByVal Tempo)
'Sinopse: Descreve o tempo por extenso em relação ao
'          tempo atual
'Parametro(s):
'    Tempo: Tempo expressos em Bytes
'Retorno: String
'Autor: Gabriel Fróes - www.codigofonte.com.br
'-----------------------------------------------------
Function getTempoExtenso(ByVal Tempo)
    On Error Resume Next
    Dim Retorno
    Dim Agora
    Agora = Now()
    Tempo = DateDiff("n", Tempo, Agora)
    'Response.Write "
Agora:" & Agora 'Response.Write "
Tempo:" & Tempo If IsNumeric(Tempo) Then If Tempo <= 60 Then Retorno = Tempo & " minuto" If Tempo > 1 Then Retorno = Retorno & "s" End If ElseIf Tempo > 60 And Tempo <= 1440 Then Tempo = Round(Tempo/60, 0) Retorno = Tempo & " hora" If Tempo > 1 Then Retorno = Retorno & "s" End If ElseIf Tempo > 1440 And Tempo <= 43200 Then Tempo = Round((Tempo/60)/24, 0) Retorno = Tempo & " dia" If Tempo > 1 Then Retorno = Retorno & "s" End If ElseIf Tempo > 43200 And Tempo <= 518400 Then Tempo = Round(((Tempo/60)/24)/30, 0) Retorno = Tempo & " mês" If Tempo > 1 Then Retorno = Tempo & " meses" End If ElseIf Tempo > 518400 Then Tempo = Round((((Tempo/60)/24)/30)/12, 0) Retorno = Tempo & " ano" If Tempo > 1 Then Retorno = Retorno & "s" End If End If Else Retorno = "n/a" End If 'Retornando a função getTempoExtenso = Retorno End Function 'EXEMPLO DE CHAMADA Response.Write "Exemplo de Chamada:" & getTempoExtenso(1440) %>