オブジェクトの時間のみを取得しようとしていDateTime
ます。
このオブジェクトがあるとしましょう:
Nullable<DateTime> data = new DateTime(2007,6,15,5 ,23,45);
私は使用してみました:
data.Value.ToShortTimeString()
そして、私は受け取ります:
5:23 AM
表示のみできるようにしたい5:23
どうやってやるの?
適切なフォーマット文字列ToString
でメソッドを使用できます。
var time = date.ToString("H:mm");
"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
型を取得する必要がある場合はTimeSpan
、DateTime クラスの というプロパティを使用しますTimeOfDay
。「時間」部分のみを返します。
その形式で文字列を取得する必要がある場合、TimeOfDay を使用するのはやり過ぎであり、単にToString("hh:mm")
出力をフォーマットするために使用します。のような結果が必要ない場合は05:40
、 を使用しますToString("H:mm")
。
Nullable<DateTime> data = new DateTime(2007, 6, 15, 5, 23, 45);
var timeofDay = data.Value.TimeOfDay; // 05:23:45
奇妙なことに、それは私にとってはうまく機能します。ビジュアルスタジオの設定ですか?
これを試すことができます
Nullable<DateTime> data = new DateTime(2007, 6, 15, 5, 23, 45);
Debug.Write(data.Value.Hour + ":" + data.Value.Minute);