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
}
outro
fonte
@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");
vtortola
fonte
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.

Manish Basantani
fonte
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;
Dan Tao
fonte
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);
}
Mike Dinescu
fonte