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
Querrá familiarizarse con las cadenas de formato de fecha y hora personalizadas .
DateTime localTime = DateTime.Now;
// 24 hour format -- use ''H'' or ''HH''
string timeString24Hour = localTime.ToString("HH:mm", CultureInfo.CurrentCulture);
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");