Jam dari DateTime? dalam format 24 jam

157

Jadi saya punya DateTime ini? dan apa yang ingin saya lakukan adalah mendapatkan jam tetapi menunjukkannya dalam format 24 jam.
Sebagai contoh:
Jika jamnya 2:20:23 saya ingin mengubahnya menjadi 14:20 dan hanya itu.

Saya bekerja dengan Visual C #. Ada ide, terima kasih.

Saya punya sesuatu seperti ini

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

    string retornar = "";
    //here goes what i need
}
euther
sumber
@ OrelEraki kamu serius? Pertanyaan ini diposting sebelum itu satu per dua tahun. Setidaknya periksa fakta Anda sebelum menelepon duplikat.
Archibald
Tidak perlu keluar, itu pada 2014. Dihapus.
Orel Eraki
4
"hh" dalam huruf kecil adalah untuk notasi am / pm, "HH" adalah untuk notasi 24jam
Antoine Meltzheim

Jawaban:

275

Anda bisa mendapatkan hasil yang diinginkan dengan kode di bawah ini. Two'H 'in HHadalah untuk format 24 jam.

return fechaHora.Value.ToString("HH:mm");
vtortola
sumber
8
Deskripsi mengapa ini bekerja akan bermanfaat. Seperti HH untuk format 24 jam seperti jam untuk 12 jam.
Luke Alderton
139
date.ToString("HH:mm:ss"); // for 24hr format
date.ToString("hh:mm:ss"); // for 12hr format, it shows AM/PM

Lihat tautan ini untuk Pemformat lain di DateTime.

Manish Basantani
sumber
19

Menggunakan ToString("HH:mm")tentu memberi Anda apa yang Anda inginkan sebagai string .

Jika Anda ingin jam / menit saat ini sebagai angka , manipulasi string tidak diperlukan; Anda dapat menggunakan TimeOfDayproperti:

TimeSpan timeOfDay = fechaHora.TimeOfDay;
int hour = timeOfDay.Hours;
int minute = timeOfDay.Minutes;
Dan Tao
sumber
Saya suka metode ini karena memberi saya nilai integer untuk perhitungan.
Hao Nguyen
Ini adalah solusi yang lebih disukai bagi saya karena saya hanya membutuhkan int dari jam hari. Jauh lebih mudah daripada mengonversinya menjadi string hanya untuk mem-parse kembali menjadi DateTime lagi.
Sev
6

Coba ini:

//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
sumber