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

Datediff - Como Saber Quantos Tempo Falta


fertel

Pergunta

E aí galera, ando meio sem tempo ultimamente, mas mexendo nos meus trabalhos antigos, encontrei um site que tinha feito pra competir com o Mercado Livre, mas que não deu certo por falta de patrocínio.

Mas, nele tem muito código interessante, já que eu escrevi do zero o bicho. Um deles é este aqui de hoje. Ele tira de uma data, hora e minuto, quanto tempo resta pra acabar. Por exemplo: O cara botava um anúncio pra durar 15 dias, este script calcula quanto falta pra acabar e mostra na tela (justamente como o mercado livre), incluindo horas minutos e segundos pra acabar. Espero que gostem:

<%
DATA1 = Cdate(Now()) 'DATA ATUAL
DATA2 = Cdate(FINALIZA) 'DATA FINALIZAÇÃO
DIAS = DateDiff("d",DATA1,DATA2)
If DateDiff("h",DATA1,DATA2) <> 0 Then
HORA = DateDiff("h",DATA1,DATA2) - Cint(DIAS) * 24
Else
HORA = 0
End If
If DateDiff("n",DATA1,DATA2) <> 0 Then
MINUTO = DateDiff("n",DATA1,DATA2) - DateDiff("h",DATA1,DATA2) * 60
Else
MINUTO = 0
End If
If DateDiff("s",DATA1,DATA2) <> 0 Then
SEGUNDO = DateDiff("s",DATA1,DATA2) - DateDiff("n",DATA1,DATA2) * 60
Else
SEGUNDO = 0
End If
If SEGUNDO < 0 Then
MINUTO = MINUTO - 1
SEGUNDO = 60 - SEGUNDO + SEGUNDO * 2
End If
If MINUTO < 0 Then
HORA = HORA - 1
MINUTO = 60 - MINUTO + MINUTO * 2
End If
If HORA < 0 Then
DIAS = DIAS - 1
HORA = 24 - HORA + HORA * 2
End If
If DIAS > 1 Then
Response.Write "<font color=#003366 class=fontsize>" & DIAS & "d " & HORA & "h </font>"
ElseIf DIAS = 1 Then
Response.Write "<font color=#FF0000 class=fontsize>" & DIAS & "d " & HORA & "h </font>"
ElseIf DIAS = 0 AND HORA > 0 Then
Response.Write "<font color=#FF0000 class=fontsize>" & HORA & "h " & MINUTO & "m </font>"
ElseIf DIAS = 0 AND HORA = 0 AND SEGUNDO > 1 Then
Response.Write "<font color=#FF0000 class=fontsize>" & MINUTO & "m " & SEGUNDO & "s </font>"
End If
%>

Um detalhe: Como este script trabalha com dia, mês, ano, hora, minuto e segundos, é importante que a variável finaliza, tenha sido gravada da mesma forma, ou seja: Now(), acredito que se não for feito assim deva gerar um erro, já que ele compara tudo e não somente data.

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
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...