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.