Hora do DateTime? no formato de 24 horas


157

Então, eu tenho esse DateTime? e o que eu quero fazer é obter a hora, mas mostrá-la no formato de 24 horas.
Por exemplo:
se a hora for 14:20:23, quero convertê-lo para 14:20 e é isso.

Estou trabalhando com Visual C #. Alguma idéia, por favor, obrigado.

Eu tenho algo parecido com isto

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

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

@OrelEraki você está falando sério? Essa pergunta foi publicada antes disso um a dois anos. Pelo menos verifique seus fatos antes de ligar para duplicado.
Archibald

Não há necessidade de sair, foi em 2014. Removido.
Orel Eraki 26/09/16

4
"hh" em letras minúsculas é para notação am / pm, "HH" é para notação 24h
Antoine Meltzheim

Respostas:


275

Você pode obter o resultado desejado com o código abaixo. Two'H 'in HHé para o formato de 24 horas.

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

8
Descrição do motivo pelo qual isso funciona seria útil. Como HH para formato de 24 horas, como hh por 12 horas.
Luke Alderton

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

Consulte este link para outros Formatadores no DateTime.


19

Usar ToString("HH:mm")certamente fornece o que você deseja como uma string .

Se você deseja a hora / minuto atual como números , a manipulação de strings não é necessária; você pode usar a TimeOfDaypropriedade:

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

Eu gosto desse método porque ele me fornece valores inteiros para cálculo.
Hao Nguyen

Essa foi a solução preferida para mim porque eu só precisava do int a partir da hora do dia. Muito mais fácil do que converter para uma string apenas para analisar novamente em um DateTime novamente.
171716 Sev

6

Tente o seguinte:

//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);
}
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.