Foros del Web » Programación para mayores de 30 ;) » .NET »

Rellenar fecha con ceros a la izquierda

Estas en el tema de Rellenar fecha con ceros a la izquierda en el foro de .NET en Foros del Web. Buenos días! estoy empezando a programar en asp.net donde pido en un textbox la fecha de nacimiento con el siguiente formato dd/mm/aaaa... lo que deseo ...
  #1 (permalink)  
Antiguo 30/04/2012, 08:25
 
Fecha de Ingreso: enero-2012
Mensajes: 6
Antigüedad: 12 años, 3 meses
Puntos: 0
Rellenar fecha con ceros a la izquierda

Buenos días! estoy empezando a programar en asp.net donde pido en un textbox la fecha de nacimiento con el siguiente formato dd/mm/aaaa... lo que deseo saber es como rellenar con ceros en caso de que el día o mes tecleado por el usuario solo tenga un dígito. ejemplo si el usuario introduce 1/2/1900 se coloque automáticamente 01/02/1900. Gracias de antemano!!
  #2 (permalink)  
Antiguo 30/04/2012, 11:39
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Rellenar fecha con ceros a la izquierda

Mejor controla que le usuario solo pueda ingresar con ese tipo de formato usa los controles de validación en este caso RegularExpressionValidator en la propiedad ValidationExpression pone lo siguiente (0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d con esto obligas al usuario escribir la fecha con el formato dd/mm/aaaa y si la escribe incorrecta muestrale un mensaje

ejemplo

Código:
 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
            ControlToValidate="TextBox1" ErrorMessage="Formato incorrecto" 
            ValidationExpression="(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d"></asp:RegularExpressionValidator>
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #3 (permalink)  
Antiguo 30/04/2012, 11:40
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: Rellenar fecha con ceros a la izquierda

Que tal marianadelgado51

Quizás y la forma en que lo estas tratando de implementar no sea la adecuada porque al textbox tendrías que validarle varias cosas. Con respecto a lo que comentas podrías hacer algo similar a lo siguiente:

Código c#:
Ver original
  1. char[] delitadores = new char[] { '/', '-' };
  2.  
  3.             string[] args = this.TextBox1.Text.Split(delitadores);
  4.  
  5.             //- Verificar si tiene dd/mm/yyyy ó dd-mm-yyyy
  6.             if (args.Length == 3)
  7.             {
  8.                 //- Hacer el recorrido de las partes de la fecha para hacer el autocomplete
  9.                 for (int i = 0; i < args.Length - 1; i++)
  10.                 {
  11.                     //- Si tiene menos de 2 caracteres significa que se tendrá que agregar el 0
  12.                     if (args[i].Length < 2)
  13.                     {
  14.                         args[i] = args[i].PadLeft(2, '0');
  15.                     }
  16.                 }
  17.             }
  18.  
  19.             String Fecha = args[0] + "/" + args[1] + "/" + args[2];

De esta manera estará haciendo el autocomplete por medio del PadLeft. Como te comento anteriormente tienes otras opciones tal es el caso de controles Date o bien controles que contengas máscaras. Incluso como te comentan lo ideal sería que forzaras al usuario a capturar la fecha de forma correcta a través de validadores.

Saludos!
__________________
http://ka0stj.wordpress.com/
  #4 (permalink)  
Antiguo 30/04/2012, 12:39
 
Fecha de Ingreso: enero-2012
Mensajes: 6
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Rellenar fecha con ceros a la izquierda

gracias por sus respuestas... seguí su consejo y utilice un control RegularExpressionValidator para que el usuario se vea forzado a introducir la fecha según el formato que necesito
  #5 (permalink)  
Antiguo 30/04/2012, 15:06
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Rellenar fecha con ceros a la izquierda

que bueno que te sirvió, y pues si es la manera mas fácil de hacerlo.

saludos...
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres

Etiquetas: c#, fechaproblema, textbox, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:22.