Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fábio BN

[Resolvido] Validar Data no Cadastro?

Recommended Posts

Oi, tudo bem?

 

Alguém tem alguma rotina em ASP que verifica se a data informada com: dia, mês e ano é uma data válida, levando em consideração anos Bi-Sextos e meses com 31 dias.

Exemplo:

Se o usuário colocar: 31/11/2008 ( aparece Data Inválida )

Ou 30/02/2000 ( Aparece Data Inválida. )

 

E 29/02 só pode passar se o ano for Bi-Sexto.

 

Se alguém tiver alguma rotina, mande-me por favor.

Abraços - Fábio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já conseguiu resolvere uma parte do problema, agora falta saber se o ano é bissexto.

 

Eu achei esse código mas tenho uma dúvida:

Diz que se retornar True o Ano é Bissexto.

<%

Function AnoBissexto(ByVal intAno)

AnoBissexto = ((intAno Mod 4 = 0) And (Not(ano Mod 100 = 0))) Or (ano Mod 400 = 0)

End function

%>

 

Minha dúvida? Onde eu insiro a variável ANO neste código e como verifico se ele é true?

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

As regras para determinar se uma determinada data cair durante um ano bissexto dependem três critérios:

É o ano uniformemente divisível por 4? Nesse caso, ele é um ano bissexto,

 

a menos que ...

 

É o ano uniformemente divisível por 100? (Por exemplo, 1500?) Nesse caso, ele é Não um ano bissexto,

 

a menos que ...

 

É o ano uniformemente divisível por 400? Se esse for o caso, ele é um ano bissexto.

É o ano uniformemente divisível por 100? (Por exemplo, 1500?) Nesse caso, ele é Não um ano bissexto,

 

a menos que ...

 

É o ano uniformemente divisível por 400? Se esse for o caso, ele é um ano bissexto.

 

<%
  Function IsLeapYearDate(dtmTestDate)
	IsLeapYearDate = False
	If IsDate(dtmTestDate) Then
	  Dim dtmTempDate
	  dtmTempDate = "1/31/" & Year(dtmTestDate)
	  dtmTempDate = DateAdd("m", 1, dtmTempDate)
	  If Day(dtmTempDate) = 29 Then IsLeapYearDate = True
	End If
  End Function
%>
<html>
<head><title>ano bissexto</title></head>
<body>
<pre>
<%
  For X = 1400 to 2000 Step 75
	Response.Write X & "  é um ano bissexto = "
	Response.Write IsLeapYearDate("1/1/" & X) & "<br>"
  Next
%>
</pre>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi.

 

Resolvi essa parada, bem simples, vejam:

<%
ano_verificado = resquest.form("ano")

if ((ano_verificado mod 4)=0) and ((ano_verificado mod 100)<>0 or (ano_verificado mod 400)=0) then 
ano = "bissexto"
end if
%>

Eu fiz uns testes com ano bissexto e todos funcionaram, bem mais simples do que esperava.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.