• 0
Sign in to follow this  
py2tz

Data Regressiva Em Asp

Question

Olá turma,

Estou com um problema de contagem regressiva de datas, achei um script em Javascript mas ficou meio manual a coisa, tenho que ficar alterando as datas constantemente.

Achei um outro em ASP aqui mesmo no SB mas não quer rodar e tambem gostaria de saber se tem como deixa-lo recebendo os dados do BD diretamente, ai ficaria automatico e não precisaria mais edita-los.

Meu BD é access

Sistema ASP

O script:

<%

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

%>

No BD tenho um campo chamado Data_Inicio e visualizo com <%=Rs("Data_Inicio"%> onde o sistema faria a comparação entre a data do micro e a Data_Inicio e me mostraria os dias que faltavam para o evento, tipo:

Faltam 8 dia(s) para o CQ-M International DX Contest 2007 (ingles)

No mais agradeço qualquer ajuda.

73

Fausto

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

os dados do bd seriam atualizados a kda refresh...

o que você deve fazer é carregar a data final do evento e calcular a distancia ate o momento atual... apos isso o resto é js...

pra ficar pegando a todo momento do bd use ajax...

Share this post


Link to post
Share on other sites
  • 0

Olá Bareta,

Tks pelo retorno,

o script fica dentro de uma página que é enviada aos leitores, e quando ele abre o email aparece varias coisas entre elas esse bloco que pega do BD os ultimos 5 registros ordenados pela data e mostra na tela.

Eu complemento com o contador regressivo que mostra quandos dias estao faltando para isso, mas esta em JAVA e funciona em algumas maquinas, porem alguns dizem que não conseguem ver e me retornam o email mostrando a parte do contador vira uma zona.

então precisva passar o que tenho em JAVA para ASP, veja o script que tenho funcionando em java:

<%set rs=conn.execute("select top 20 * from LINKS WHERE LINK_APPROVED = 1 Order By mês,Dia ASC")%>

<%do until rs.eof%>

<script LANGUAGE="JavaScript1.1">

//Contagem regressiva dos Concursos,

var before="<% If rs("Dia") <> "" Then %><a href='http://www.site.com.br/concurso/hitting.asp?id=<%=rs("LINK_ID")%>&url=<%=rs("LINK_URL")%>' target='_blank'><%=rs("LINK_NAME")%></a><%End If %>"

var current="<br>É Hoje Cara, Liga o Rádio !!!! <a href='http://www.site.com.br/concurso/hitting.asp?id=<%=rs("LINK_ID")%>&url=<%=rs("LINK_URL")%>' target='_blank'><%=rs("LINK_NAME")%></a>"

var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")

function countdown(yr,m,d){

var today=new Date()

var todayy=today.getYear()

if (todayy < 1000)

todayy+=1900

var todaym=today.getMonth()

var todayd=today.getDate()

var todaystring=montharray[todaym]+" "+todayd+", "+todayy

var futurestring=montharray[m-1]+" "+d+", "+yr

var difference=(Math.round((Date.parse(futurestring)-Date.parse(todaystring))/(24*60*60*1000))*1)

var dstring=difference.toString()

if (difference==0)

document.write(current)

else if (difference>0){

document.write("<br>Faltam ")

for (i=0;i<=dstring.length-1;i++)

document.write('<img src="http://www.site.com.br/concurso/image/c'+dstring.charAt(i)+'.gif">')

document.write(' dia(s) para o '+before)

}

}

countdown(<%=rs("Ano")%>,<%=rs("mês")%>,<%=rs("Dia")%>)

</script>

<% rs.movenext

loop

%>

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this