DateTime
C# で時間を表示するために使用しています。時刻を作成するときに、誰もがどの日付部分を使用しますか?
たとえば、0 番目の月または 0 番目の日がないため、次は無効です。
// 4:37:58 PM
DateTime time = new DateTime(0, 0, 0, 16, 47, 58);
COM のゼロ デイトを使用しますか?
// 4:37:58 PM
DateTime time = new DateTime(1899, 12, 30, 16, 47, 58);
それとも SQL Server のものでしょうか?
//4:37:58 PM
DateTime time = new DateTime(1900, 1, 1, 16, 47, 58);
コードの日付部分を無視するので、それは恣意的だと思いますが、それでも使用できると便利です:
DateTime duration = time2 - time1;
答え
私はMinValueが好きだと思います
DateTime time = DateTime.MinValue.Date.Add(new TimeSpan(16, 47, 58));
注:は使用できませんTimeSpan
。これは時刻を保存しないためです。私がそれを知っている理由は、その内容を時間として表示する方法がないからです。
つまり、 time of dayではなく、span of timeTimeSpan
を記録します。例:
TimeSpan t = new TimeSpan(16, 47, 58);
t.ToString();
時間:分:秒の形式で期間を返します。例:
16:47:58
時間ではなく:
4:47:58 PM (United States)
04:47:58 nm (South Africa)
4:47:58.MD (Albania)
16:47:58 (Algeria)
04:47:58 م (Bahrain)
PM 4:47:58 (Singapore)
下午 04:47:58 (Taiwan)
04:47:58 PM (Belize)
4:47:58 p.m. (New Zealand)
4:47:58 μμ (Greece)
16.47.58 (Italy)
오후 4:47:58 (Korea)
04:47:58 ب.ظ (Iran)
ਸ਼ਾਮ 04:47:58 (India)
04:47:58 p.m. (Argentina)
etc
つまり、タイムスパンと時間の間には違いがあります。TimeSpan
また、時間の範囲を時刻に変換するメカニズムが提供されていないことも理解してください。それには理由があります。