Hola a todos!!!!
Ya estoy aqui de nuevo con un nuevo tip para programar en c#, el post pasado hable un poco sobre el string.format y de como este metodo estatico de la clase string nos ayudaba a darle formato a los numeros, pero ahora les voy a decir como nos ayudara a darle formato a las fechas utilizando el struct DateTime.
Tenemos un DateTime que guarda una fecha, por ejemplo 5 de junio de 1987:
DateTime fecha = new DateTime(1987, 06, 05);
Si queremos imprimir en pantalla esa fecha de esta manera 05/06/87 hariamos lo siguiente:
Console.WriteLine(fecha.Day + "/" + fecha.Month + "/" + fecha.Year);
y lo que obtendriamos seria lo siguiente: 5/6/1987 lo cual no era exactamente lo que queriamos, por lo tanto es una buena oportunidad para utilizar el string.Format, el cual para las fechas presenta una gran cantidad de formatos por ejemplo:
fechaString = string.Format("{0:d}", fecha);//fecha corta
Console.WriteLine(fechaString);//05/06/1987
fechaString = string.Format("{0:D}", fecha);//fecha larga
Console.WriteLine(fechaString);//viernes, 5 de junio de 1987
fechaString = string.Format("{0:M}", fecha);//dia y mes
Console.WriteLine(fechaString);//05 junio
fechaString = string.Format("{0:Y}", fecha);// mes y año
Console.WriteLine(fechaString);//junio de 1987
Los formatos anteriores son los de uso comun, pero hay otras opciones que nos permiten crear nuestro formato, por ejemplo:
fechaString = string.Format("{0:dd}", fecha);//dia en numero
Console.WriteLine(fechaString);//05
fechaString = string.Format("{0:ddd}", fecha);//dia en letra abreviado
Console.WriteLine(fechaString);//vie
fechaString = string.Format("{0:dddd}", fecha);//dia en letra
Console.WriteLine(fechaString);//viernes
fechaString = string.Format("{0:MM}", fecha);//mes en numero
Console.WriteLine(fechaString);//06
fechaString = string.Format("{0:MMM}", fecha);//mes en letra abreviado
Console.WriteLine(fechaString);//jun
fechaString = string.Format("{0:MMMM}", fecha);//mes en letra
Console.WriteLine(fechaString);//junio
fechaString = string.Format("{0:yy}", fecha);//año dos digitos
Console.WriteLine(fechaString);//87
fechaString = string.Format("{0:yyyy}", fecha);//año cuatro digitos
Console.WriteLine(fechaString);//1987
Para crear nuestro formato se utilizan estos 8 ultimos formatos y se combinan con el "-" guion o la "/" diagonal, por ejemplo si quiero el formato 05/06/87 pondria:
fechaString = string.Format("{0:dd/MM/yy}", fecha);
Console.WriteLine(fechaString);//05/06/87
O si quiero jun-05-1987 seria asi:
fechaString = string.Format("{0:MMM-dd-yyyy}", fecha);
Console.WriteLine(fechaString);//jun-05-1987
De esa manera cual quier formato deseado para las fechas se podra adquirir por medio del string.Format, en otra ocasion seguire explicando el string.Format ya que nos falta darle formato a los TimeSpan y ver como se utiliza este metodo para evitar la concatenacion.
Saludos y recuerden que cualquier duda solo ponganla en los comentarios y en breve la respondere.