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.