1

私は現在、従業員のタイムインとタイムアウトを管理する部分があるシステムを構築しています。これを計算したい

 ***night shift (Must Work 8 Hr)***
  startTime- 10.00 PM   
  endTime- 06.00 AM 

そのため、その日付の実際の勤務時間 (timein - timeout) を計算したいと考えています。私がやったことは

TimeSpan duration = DateTime.Parse(endTime).Subtract(DateTime.Parse(startTime)); 

出力 :16:00

欲しいのは8時

例 2

startTime - 10.00 PM
endTime - 05.00 AM

アウトプット:7:00

どうすればこれを行うことができますか?

4

2 に答える 2

1

2 つの時刻の間の時間を正確に指定するにはdate、 withも使用する必要があります。time時間内に異なる日付を持っているためです。シフトが 2013 年 3 月 18 日の午後 10 時に開始し、2013 年 3 月 19 日の午前 5 時に終了するとします。

于 2013-03-19T06:32:29.177 に答える
0

次のように使用してみてくださいTimespan

DateTime a = new DateTime(2008, 01, 02, 23, 30, 00);
DateTime b = new DateTime(2008, 01, 03, 06, 30, 00);

TimeSpan duration = b - a;

Console.WriteLine(duration);

出力は

07:00:00

これがDEMOです。

TimeSpanオブジェクトは、正または負の日数、時間、分、秒、および秒の端数として測定される時間間隔(時間の長さまたは経過時間)を表します。

于 2013-03-19T06:37:00.717 に答える