Hora de fecha y hora? en formato de 24 horas


157

¿Entonces tengo esta fecha y hora? y lo que quiero hacer es obtener la hora pero mostrarla en formato de 24 horas.
Por ejemplo:
si la hora es 2:20:23 pm quiero convertirlo a 14:20 y eso es todo.

Estoy trabajando con Visual C #. Cualquier idea por favor, gracias.

Tengo algo como esto

public static string FormatearHoraA24(DateTime? fechaHora)
{
    if (!fechaHora.HasValue)
        return "";

    string retornar = "";
    //here goes what i need
}

@OrelEraki, ¿hablas en serio? Esta pregunta fue publicada antes de esa por dos años. Al menos verifique sus hechos antes de llamar duplicado.
— Archibald

No hay necesidad de salir, fue en 2014. Se eliminó.
— Orel Eraki

44
"hh" en minúscula es para notación am / pm, "HH" es para notación 24h
— Antoine Meltzheim

Respuestas:


275

Puede obtener el resultado deseado con el siguiente código. Two 'H' HHes para formato de 24 horas.

return fechaHora.Value.ToString("HH:mm");

8
Descripción de por qué esto funciona sería útil. Como HH para formato de 24 horas como hh para 12 horas.
— Luke Alderton el

139
date.ToString("HH:mm:ss"); // for 24hr format
date.ToString("hh:mm:ss"); // for 12hr format, it shows AM/PM

Consulte este enlace para ver otros Formateadores en DateTime.


19

Usar ToString("HH:mm")ciertamente te da lo que quieres como una cadena .

Si desea la hora / minuto actual como números , la manipulación de cadenas no es necesaria; puedes usar la TimeOfDaypropiedad:

TimeSpan timeOfDay = fechaHora.TimeOfDay;
int hour = timeOfDay.Hours;
int minute = timeOfDay.Minutes;

Me gusta este método porque me da valores enteros para el cálculo.
— Hao Nguyen

Esta fue la solución preferida para mí porque solo necesitaba el int desde la hora del día. Mucho más fácil que convertir a una cadena solo para volver a analizar en una fecha y hora.
— Sev

6

Prueba esto:

//String.Format("{0:HH:mm}", dt);  // where dt is a DateTime variable

public static string FormatearHoraA24(DateTime? fechaHora)
{
    if (!fechaHora.HasValue)
        return "";

    return retornar = String.Format("{0:HH:mm}", (DateTime)fechaHora);
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.