DateTimeからの時間?24時間形式


157

だから私はこのDateTimeを持っていますか?そして、私がしたいことは、時間を取得することですが、24時間形式で表示することです。
例えば:
時間が午後2時20分23秒の場合、14:20に変換したいのですが、それだけです。

Visual C#を使用しています。どんなアイデアでもよろしくお願いします。

私はこのようなものを持っています

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

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

@OrelErakiは本気ですか?この質問は、その前に2年ごとに投稿されました。duplicateを呼び出す前に、少なくとも事実を確認してください。
Archibald

終了する必要はありません。2014年でした。削除されました。
Orel Eraki 2016

4
小文字の "hh"は午前/午後表記、 "HH"は24時間表記
アントワーヌメルツハイム

回答:


275

以下のコードを使用して、目的の結果を得ることができます。2つの「H」HHは24時間形式です。

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

8
これが機能する理由についての説明は役に立ちます。24時間形式のHH、12時間形式のhhなど。
ルークアルダートン

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

DateTimeの他のフォーマッターについては、このリンクを参照してください。


19

ToString("HH:mm")確かに使用すると、文字列として必要なものが得られます。

現在の時間/分を数値として取得する場合は、文字列を操作する必要はありません。TimeOfDayプロパティを使用できます:

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

計算用の整数値が得られるため、この方法が好きです。
Hao Nguyen

私はその日の時間からintが必要だったので、これは私にとって好ましいソリューションでした。文字列に変換する方がはるかに簡単で、もう一度解析して再度DateTimeに戻します。
2016年

6

これを試して:

//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);
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.