Formatear fechas en C#

Cuando trabajamos con fechas regularmente necesitamos modificarlo para su presentación al usuario, recurrimos a formatear fechas en C#.

Formatear fechas en C#

Veamos algunas maneras de aplicar el formato a las fechas para obtener fecha y horas.

Para los ejemplos utilizare la siguiente fecha:

DateTime fecha = new DateTime(2018, 10, 26, 16, 30, 0);

Formatear fechas

Primero veamos como especificar el formato de fecha por zona, esto se hace indicando las siglas del país en el método de CreateSpecificCulture.

CultureInfo.CreateSpecificCulture("es-ES")
CultureInfo.CreateSpecificCulture("en-US")

Podría interesarte Mostrar fecha con horas en c#  

Para poder utilizar esta clase es necesario agregar el espacio de nombre:

using System.Globalization;

Utilizando la especificación de la zona las fechas pueden quedar como sigue:

//Fecha con hora en espanol
string fechaSalida1 = fecha.ToString("g", CultureInfo.CreateSpecificCulture("es-ES"));
//Resultado: 26/10/2018 16:30
 
//Fecha con hora en ingles
string fechaSalida2 = fecha.ToString("g", CultureInfo.CreateSpecificCulture("en-US"));
//Resultado: 10/26/2018 4:30 PM

Podemos establecer el orden de la fecha, por ejemplo, quiero que la fecha sea día, mes y año; el código quedara de la siguiente manera:

//Fecha corta en dia, mes, año
string fechaSalida3 = fecha.ToString("dd/MM/yyyy");
//Resultado: 26/10/2018

Formatear horas

Así como podemos definir el formato de las fechas podemos obtener solo las horas y establecer su formato.

Utilizando la fecha declarada al inicio del post obtengamos una fecha en 24 hrs y otra en 12 hrs (AM y PM).

//Hora en 24hrs
string fechaSalida4 = fecha.ToString("HH:mm");
//Resultado: 16:30
 
//Hora con AM o PM
string fechaSalida5 = fecha.ToString("hh:mm tt");
//Resultado: 04:30 p. m.

Podría interesarte Obtener el número de días entre dos fechas en C#  

Conclusiones

Existen más opciones de formateo en la pagina de Microsoft de este tema, aquí pudimos ver algunos ejemplos prácticos y más utilizados.

One Comment

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *