Ver Mensaje Individual
  #10 (permalink)  
Antiguo 17/08/2009, 15:36
freezer27
 
Fecha de Ingreso: abril-2007
Mensajes: 20
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Re: pasar de string a datetime

Cita:
Iniciado por roberto80 Ver Mensaje
bale, ya me funciona. otra pregunta:

como hago para que el usuario siempre introduzca las fechas en el formato :

dd/MM/YYYY

yo le he puesto esto:

int x;
int y;
if (Fecha.Text==""+x+y+"/"+x+y+"/"+x+y+x+y) bien;
else mal;

pero claro, como no le doy valores a las variables me coje como 0.
entonces estoy comparando (00/00/0000), y yo quiero que el formato sea asi, pero sin decir que numeros tienen que ser.

gracias
Nooooombre, usa regular expressions, despues haces la conversión de string a DateTime, pero encerrado en un bloque try-catch, si te da una excepción es porque el formato está malo (por ejemplo, viene un dia 31 para febrero, por ejemplo) y ahi lo controlas.

En otras palabras, el algoritmo sería algo asi:

- asignas la fecha en un string
- verificas si el string cumple con el formato DD/MM/AAAA (solo dígitos), creo que el reg. expression sería mas o menos algo asi como "d{2}/d{2}/d{4}".
- si pasa la validación del regular expression, intentas (try-catch) convertir este string a un datetime con DateTime.Parse(fecha en string).
- si da alguna excepción es porque vienen los dias mayores de 30 o 31 para algun mes q no le corresponda, o algun mes mayor que 12) y ahi muestras algun mensaje de error.

Espero te sirva.

Saludos desde El Salvador