Ver la Versión Completa : ¿Cómo validar fechas?
NFleitas
19-10-2012, 15:13:33
Que tal?
Como puedo validar que el usuario me ingreso una fecha con el formato correspondiente(MM/DD/AAAA)?
Agradeceria sus respuestas!
gatosoft
19-10-2012, 16:06:29
Si utilizas un componente para captura de fechas, como un DateTimePicker, éste te ayuda con la validación... pero si estas permitiendo que el usuario digite libremente debes esperar cualquier cosa...
La forma facil que veo es:
Try
{Ojo: afecta la variable global ShortDateFormat para toda la aplicación}
ShortDateFormat:= 'mm/dd/yyyy';
StrToDate(Edit1.Text);
ShowMessage('Fecha OK');
except
ShowMessage('Fecha no valida');
end;
La función StrToDate acepta un segundo parametro TFormatSettings que es un registro que contiene entre otras variables ShortDateFormat... asi que puedes crear localmente un registro de este tipo configurarlo a tu antojo (sin afectar las variables globales) y enviarl como parametro de la función...
bye
Casimiro Notevi
19-10-2012, 16:30:08
..
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php)?, gracias por tu colaboración :)
He modificado el título por algo más descriptivo a lo que preguntas, por favor, tenlo en cuenta para próximas preguntas, gracias.
Se supone que estás preguntando para hacerlo en python, ¿has visto los ejemplos de la ayuda?
NFleitas
19-10-2012, 17:08:20
Gracias por las aclaraciones!
Ya me las arregle intentando con esto!
from time import mktime, strptime
from datetime import datetime
inicio = raw_input("Ingrese fecha (MM/DD/AAAA) inicial a buscar: ")
result = None
for format in ['%m/%d/%Y']:
try:
result = datetime.strptime(inicio, format)
except:
pass
if result is None:
print 'Malformed date.'
else:
print 'Date is fine'
Casimiro Notevi
19-10-2012, 17:34:34
Gracias por comentarlo ^\||/
gatosoft
19-10-2012, 18:18:15
... Se supone que estás preguntando para hacerlo en python ...
My Fault...! :rolleyes:
Casimiro Notevi
19-10-2012, 18:30:03
Eso le pasa a cualquiera, no es la primera vez, ni será la última :)
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.