Fechas -> Como revisar que una fecha es correcta
SOLUCIÓN PROPUESTA
Estimado Daniel
Me imagino que quieres verificar la fecha que representan los tres campos
Existen 2 caminos:
El primero que utiliza el método IsDate y que revisa la información de los campos de texto. Generando una cadena de texto con la fecha. Aquí lo importante a considerar es el tema de globalización. Sobre todo por el orden de las fechas (dd/mm/yyyy) y (mm/dd/yyyy) dependiendo de la configuración en el Server. Esto se arregla con una configuración en el web.config
If Not IsDate(txtDia.Text & "/" & txtMes.Text & "/" & txtAnio.Text) Then
txtMensaje.text="La fecha es erronea."
End If
El segundo te deja revisar cada campo de la fecha de manera individual y no tiene el problema de globalización es el siguiente
Try
Dim Fecha As New Date(txtAnio.Text, txtMes.Text, txtDia.Text)
Catch ex As ArgumentOutOfRangeException
txtMensaje.text="La fecha es incorrecta."
Catch ex As InvalidCastException
txtMensaje.text="La fecha contiene un caracter invalido."
End Try
Aunque siempre es mejor evitar los try catch para efectos de validación ya que es más costoso para el servidor. Pero de todos modos tienes que contemplar los try catch para efectos de manejo de excepciones ya que si por algún motivo surgen errores. Léase el error de globalización puedas manejarlo.
Digo al final existe la solución que planteas pero esa implica que crees mucho mas código y definas los algoritmos que te indiquen cuantos días tiene cada mes y que en el caso de febrero evalué los bisiestos.
Espero que la información te sea de utilidad.
Atentamente,
Raúl Guerrero
http://www.superneurona.com
MENSAJE ORIGINAL
"Daniel G. Samborski" wrote:
> Hola, estoy realizando el ingreso de fechas con tres combos, dia, mes año y
> necesito saber como calcular los dias que tiene el mes seleccionado y si el
> año es bisiesto o no.
> Se que hay una forma de calcular esto, pero no la recuerdo.
>
>
> Daniel.
REFERENCIA EN EL GRUPO DE NOTICIAS:
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.es.dotnet.aspnet&mid=1db36f8d-a747-4d71-89bd-60558c3cb6ff


0 Comments:
Publicar un comentario en la entrada
<< Home