7

オブジェクトの時間のみを取得しようとしていDateTimeます。

このオブジェクトがあるとしましょう:

 Nullable<DateTime> data = new DateTime(2007,6,15,5 ,23,45);

私は使用してみました:

data.Value.ToShortTimeString()

そして、私は受け取ります:

5:23 AM

表示のみできるようにしたい5:23

どうやってやるの?

4

6 に答える 6

16

適切なフォーマット文字列ToStringでメソッドを使用できます。

var time = date.ToString("H:mm");
于 2013-04-15T08:32:58.067 に答える
4

"H" カスタム書式指定子を使用でき ます。

"H" カスタム書式指定子は、時間を 0 ~ 23 の数値で表します。つまり、時間は、午前 0 時からの時間をカウントするゼロベースの 24 時間時計で表されます。1 桁の時間は、先行ゼロなしでフォーマットされます。

Nullable<DateTime> data = new DateTime(2007, 6, 15, 5, 23, 45);
Console.WriteLine(data.Value.ToString("H:mm"));

出力は次のようになります。

5:23

ここに がありDEMOます。

詳細については、こちらをご覧くださいCustom Date and Time Format Strings

于 2013-04-15T08:34:29.023 に答える
3

型を取得する必要がある場合はTimeSpan、DateTime クラスの というプロパティを使用しますTimeOfDay。「時間」部分のみを返します。

その形式で文字列を取得する必要がある場合、TimeOfDay を使用するのはやり過ぎであり、単にToString("hh:mm")出力をフォーマットするために使用します。のような結果が必要ない場合は05:40、 を使用しますToString("H:mm")

于 2013-04-15T08:37:29.327 に答える
3
        Nullable<DateTime> data = new DateTime(2007, 6, 15, 5, 23, 45);
        var timeofDay   = data.Value.TimeOfDay; // 05:23:45
于 2013-04-15T08:35:12.187 に答える
0

奇妙なことに、それは私にとってはうまく機能します。ビジュアルスタジオの設定ですか?

これを試すことができます

Nullable<DateTime> data = new DateTime(2007, 6, 15, 5, 23, 45);
Debug.Write(data.Value.Hour + ":" + data.Value.Minute);
于 2013-04-15T08:40:27.053 に答える