• Domingo 22 de Diciembre de 2024, 13:50

Autor Tema:  Validar Fechas  (Leído 2277 veces)

Pablo.ar

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Validar Fechas
« en: Lunes 15 de Diciembre de 2003, 03:01 »
0
Hola a todos como estan, el motivo de mi consulta consiste en aprender a validar fechas dentro de un textbox y un mskedidt.
 ;)

ROBER.29

  • Miembro MUY activo
  • ***
  • Mensajes: 421
    • Ver Perfil
    • http://www.contrapixel.com
Re: Validar Fechas
« Respuesta #1 en: Lunes 15 de Diciembre de 2003, 09:41 »
0
Aquí te pongo una función que hice hace tiempo para validar fechas, la función la utilice en ASP o sea que seguro que hay alguna variable que no he declarado y que me falta de poner el tipo de dato pero eso ya lo revisas y lo pones tú.

Código: Text
  1.  
  2. 'Función que comprueba si una fecha es válida. Devuelve:
  3. ' 0 -> si es nula o esta vacía
  4. ' 1 -> Si la fecha es incorrecta
  5. ' 2 -> Si la fecha es válida
  6.  
  7. ' Parámetros:
  8. ' Fecha -> contiene la fecha que vamos a validar
  9. ' Tipo -> Variable que determina el tipo de fecha a validar. Puede ser:
  10. '         0 -> Cualquier fecha
  11. '         1 -> Entre el año actual menos 100
  12.  
  13. Function Validar_Fecha(Fecha, Tipo) As byte
  14.     Dim Con, Dia, Mes, Anyo
  15.     If Trim(Fecha) <> "" Then
  16.   If Len(Fecha) <> 10 Then
  17.    Validar_Fecha = 1
  18.    Exit Function
  19.   End If
  20.   If Mid(Fecha, 3, 1) <> "/" And Mid(Fecha, 6, 1) <> "/" Then
  21.    Validar_Fecha = 1
  22.    Exit Function
  23.   End If
  24.   For Indice_Fecha = 1 To Len(Fecha)
  25.    If Indice_Fecha <> 3 And Indice_Fecha <> 6 Then
  26.     If Not IsNumeric(Mid(Fecha, Indice_Fecha, 1)) Then
  27.       Validar_Fecha = 1
  28.       Exit Function
  29.     End If
  30.    End If
  31.   Next
  32.   Dia = CInt(Mid(Fecha, 1, 2))
  33.   Mes = CInt(Mid(Fecha, 4, 2))
  34.   Anyo = CInt(Mid(Fecha, 7, 4))
  35.   Select Case Mes
  36.    Case 1, 3, 5, 7, 8, 10, 12:
  37.     If Dia < 1 Or Dia > 31 Then
  38.       Validar_Fecha = 1
  39.       Exit Function
  40.     End If
  41.    Case 4, 6, 9, 11:
  42.     If Dia < 1 Or Dia > 30 Then
  43.       Validar_Fecha = 1
  44.       Exit Function
  45.     End If
  46.    Case 2:
  47.     If ((Anyo Mod 4) = 0 Or (Anyo Mod 100) = 0) And (Anyo Mod 400) <> 0 Then
  48.       If Dia < 1 Or Dia > 29 Then
  49.       Validar_Fecha = 1
  50.       Exit Function
  51.       End If
  52.     Else
  53.       If Dia < 1 Or Dia > 28 Then
  54.       Validar_Fecha = 1
  55.       Exit Function
  56.       End If
  57.     End If
  58.    Case Else:
  59.     If Mes < 1 Or Mes > 12 Then
  60.       Validar_Fecha = 1
  61.       Exit Function
  62.     End If
  63.   End Select
  64.   If Anyo < (Year(Now) - 100) And Tipo = 1 Then
  65.    Validar_Fecha = 1
  66.    Exit Function
  67.   End If
  68.   Validar_Fecha = 2
  69.     Else
  70.   Validar_Fecha = 0
  71.   Exit Function
  72.     End If
  73.     Validar_Fecha = 2
  74. End Function
  75.  
  76.  

Espero que te sirva.

Saludos.
Roberto García
Moderador de Visual Basic.
Gerente
[contra]PixeL S.L.
Valladolid

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Validar Fechas
« Respuesta #2 en: Lunes 15 de Diciembre de 2003, 14:58 »
0
Hola.

También puedes utilizar IsDate(Expresión).

Código: Text
  1.  
  2. Dim MiFecha, TuFecha, SinFecha, MiPrueba
  3. MiFecha = "12 febrero 1969": TuFecha = #2/12/69#: SinFecha = "Hola"
  4. MiPrueba = IsDate(MiFecha)      ' Devuelve True.
  5. MiPrueba = IsDate(TuFecha)      ' Devuelve True.
  6. MiPrueba = IsDate(SinFecha)      ' Devuelve False.
  7.  
  8.  

Chao.