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
}

@ 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");

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.


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;

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);
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.