• Lunes 18 de Noviembre de 2024, 21:41

Autor Tema:  como saber si una fecha es coorecta en python  (Leído 3478 veces)

joydivision27

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
como saber si una fecha es coorecta en python
« en: Jueves 6 de Agosto de 2009, 11:43 »
0
Buenas soy nuevo en este foro y quería haceros una preguntilla, estoy haciendo una práctica para clase de informática.
Estamos haciendo un programa en el que guardamos los datos de los alumnos para ello creamos una clase alumno con varias caracteristicas como nombre apellido etc. y tengo que hacer una función(osea un def) que me compruebe si la fecha tiene el formato correcto osea que tenga este formato :
DD/MM/AA  independientemente del año que sea.

¿me podeis dar una pistilla?, es que soy novatillo aún en esto de python y he mirado varios tutoriales y no se me ocurre nada.

Gracias y saludos.

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: como saber si una fecha es coorecta en python
« Respuesta #1 en: Domingo 9 de Agosto de 2009, 18:00 »
0
Lo puedes manejar con expresiones regulares, algo así.
Código: Python
  1. x = re.match('dd/dd/dd', '09/08/07')
  2. print x.group(0)
  3.  
Ya con eso te podrás guíar.
El pasado son solo recuerdos, el futuro son solo sueños

NRM

  • Miembro MUY activo
  • ***
  • Mensajes: 279
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.narrowmind.com.ar
Re: como saber si una fecha es coorecta en python
« Respuesta #2 en: Martes 11 de Agosto de 2009, 04:51 »
0
Cita de: "joydivision27"
Buenas soy nuevo en este foro y quería haceros una preguntilla, estoy haciendo una práctica para clase de informática.
Estamos haciendo un programa en el que guardamos los datos de los alumnos para ello creamos una clase alumno con varias caracteristicas como nombre apellido etc. y tengo que hacer una función(osea un def) que me compruebe si la fecha tiene el formato correcto osea que tenga este formato :
DD/MM/AA  independientemente del año que sea.

¿me podeis dar una pistilla?, es que soy novatillo aún en esto de python y he mirado varios tutoriales y no se me ocurre nada.

Gracias y saludos.

espero este ejemplo te sea de utilidad.

Código: Python
  1. import re
  2. import time
  3.  
  4. def checkDate(date):
  5.   regex = re.compile("(d{1,2})/(d{1,2})/(d{1,4})")
  6.   match = regex.match(date)
  7.   if match:
  8.     day, month, year = match.groups()
  9.     if len(year) == 4:
  10.       format = "%d/%m/%Y"
  11.     else:
  12.       format = "%d/%m/%y"
  13.     try:
  14.       time.strptime(date, format)
  15.     except ValueError:
  16.         return False
  17.     return True
  18.   else:
  19.     return False
  20.  
  21. if __name__ == "__main__":
  22.   toCheck = ["123sadasd123asdas",
  23.              "14/12/1989",
  24.              "44/12/1234",
  25.              "10/19/1244",
  26.              "13/2/2005",
  27.              "24/12/1982",
  28.              "12/12/09",
  29.              "28/01/2008"]
  30.   for item in toCheck:
  31.       print "%s is valid? %s" % (item, checkDate(item))
  32.  

saludos

nrm

joydivision27

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: como saber si una fecha es coorecta en python
« Respuesta #3 en: Martes 11 de Agosto de 2009, 10:47 »
0
ok vere a ver, pero creo que buscaba algo mas sencillo,por que hay cosas que pones en el ejemplo que aún no he vvisto en clase,pero de todas formas gracias a los dos.Es que estamos haciendo un programilla en clase con una lista vacia de alumnos ahcedmos una clase estudiate al que le meytemos los parametros coorreo electroico,mnombre fecha etc. y todos esos datos estan en un archivo de texto que lo importas con otra funcion.
jejejeje. cuando lo tenga acabado pego un par de ejemplos por si el dia de mañana le sirven ah alguien
xD

joydivision27

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: como saber si una fecha es coorecta en python
« Respuesta #4 en: Jueves 27 de Agosto de 2009, 19:27 »
0
Bueno ya acabe el programa que estaba haciendo,gracias por todos aquellos que me alludaron,y como prometi ahi abajo dejo el codigo fuente entero por si a alguien le interesa hecharle un ojo o pueda ayudar a alguien si no se entiende alguna función,me escribis y la respondo,la verdad que soy novatillo pero le estoy cojiendo gustillo a esto del python.
bueno saludos y cuidaros.

http://www.rapidshare.de/files/48225412 ... e2.py.html