yyyy para net mmmm horas formato fecha asp c# datetime

c# - para - ¿Convertir el tiempo de AM/PM a formato de 24 horas?



string format c# fecha (9)

Necesito convertir el formato de 12 horas (am / pm) al formato de 24 horas, por ejemplo, de 13:00 a 13:00 usando C #. ¿Cómo puedo convertirlo?


Aquí hay un código de ejemplo:

DateTime time_AMPM = DateTime.Now; string time_24hr = time_AMPM.TimeOfDay.ToString().Substring(0, 8);


Convierte una cadena a DateTime, puedes probar

DateTime timeValue = Convert.ToDateTime("01:00 PM"); Console.WriteLine(timeValue.ToString("HH:mm"));


Ir a través del siguiente código para convertir el DateTime de 12 horas a 24 horas.

string currentDateString = DateTime.Now.ToString("dd-MMM-yyyy h:mm tt"); DateTime currentDate = Convert.ToDateTime(currentDateString); Console.WriteLine("String Current Date: " + currentDateString); Console.WriteLine("Converted Date: " + currentDate.ToString("dd-MMM-yyyy HH:mm"));

Siempre que desee, la hora debe mostrarse en 24 horas, utilice el formato "HH"

Puede consultar el siguiente enlace para obtener más detalles: Cadenas de formato de fecha y hora personalizadas


Puede usar Cultures para analizar y formatear su cadena, por ejemplo

var cultureSource = new CultureInfo("en-US", false); var cultureDest = new CultureInfo("de-DE", false); var source = "01:00 pm"; var dt = DateTime.Parse(source, cultureSource); Console.WriteLine(dt.ToString("t", cultureDest));

Esto imprime a las 13:00


Puede usar el método ParseExact() para obtener un objeto DateTime. Luego puede usar el método ToString () de ese objeto DateTime para convertir la cadena a lo que necesite como se muestra here .


Puedes usarlo así:

string date = ""; date = DateTime.ParseExact("01:00 PM" , "h:mm tt", CultureInfo.InvariantCulture).ToString("HH:mm");

h: 12 horas

mm: minutos

tt: PM / AM

HH: 24 horas



Si necesita convertir una cadena a un DateTime, puede probar

DateTime dt = DateTime.Parse("01:00 PM"); // No error checking

o (con comprobación de errores)

DateTime dt; bool res = DateTime.TryParse("01:00 PM", out dt);

La variable dt contiene su fecha y hora, por lo que puede escribirla

dt.ToString("HH:mm");

El último funciona para cada var de DateTime que tenga, por lo que si aún tiene un DateTime, puede escribirlo de esta manera.


int hour = your hour value; int min = your minute value; String ampm = your am/pm value; hour = ampm == "AM" ? hour : (hour % 12) + 12; //convert 12-hour time to 24-hour var dateTime = new DateTime(0,0,0, hour, min, 0); var timeString = dateTime.ToString("HH:mm");