import time from datetime import datetime, date def valida_fecha(fecha): valid = False while not valid: fechaSplit=fecha.split("-") try: d = date(int(fechaSplit[0]), int(fechaSplit[1]), int(fechaSplit[2])) valid=True except ValueError as ve: error=str(ve) # print(error) if "year" in error: fecha = "2000-"+fechaSplit[1]+"-"+fechaSplit[2] elif "must" in error: #manejar el mes mes=int(fechaSplit[1])-1 # print(mes) fecha = fechaSplit[0]+"-"+str(mes)+"-"+fechaSplit[2] elif "day" in error: dia=int(fechaSplit[2])-1 fecha = fechaSplit[0]+"-"+fechaSplit[1]+"-"+str(dia) unixtime = time.mktime(d.timetuple()) timestamp2 = date.fromtimestamp(unixtime) return timestamp2 return d