2017-11-20 15 views
2

私は開始日が「であると仮定すると、C#の時間は、終了日のC#に開始日からの経過を取得する方法

に終了日に開始日からの経過時間を取得しようとしている11月19日/ 2017 05:50 PM "終了日は「11/19/2017 05:55 P.M.」です。経過時間を得る、この場合は5:00分であった。

しかし、また、「5日と25分」例えば取得したいと思いは

これを行うための任意のアイデアを経過しましたか?

+4

のTimeSpan期間= endDateにからそれを終えることができます - たstartDate –

+0

私はあなたがこの記事を削除したい場合はOKですが、答えをチェックし、私のために働きました。 –

+0

また、「5日25分」は約「5日」と考えることもできます。これは[time ago](https://stackoverflow.com/questions/11/calculate-relative-time-in-c-sharp)ライブラリのコンセプトです。しかし、正確な概念が必要な場合は、[野田時代](https://nodatime.org/)を使用することです。私がいるところでは、ある日は23時間、あるものは24、あるものは25です。 –

答えて

3
TimeSpan span = (EndDateTime - StartDateTime); 

String.Format("{0} days, {1} hours, {2} minutes, {3} seconds", 
    span.Days, span.Hours, span.Minutes, span.Seconds); 
0

これを行います。日付を減算して、必要なメソッドを呼び出します。

DateTime Date1=new DateTime(2017, 11, 29, 5 + 12, 50, 0); 
DateTime date2 = new DateTime(2017, 11, 29, 5 + 12, 55, 0); 
var diff = (date2 - date1); 

次に、結果のdiffオブジェクトから必要なメソッドを呼び出します。

double minutesDiff=diff.TotalMinutes; 
int days=minutesDiff \(24*60); 
int minLeft= minutesDiff %(24*60); 

あなたはここに

+0

あなたの日計算と 'diff.Days'のメリットは何ですか? – mjwills

関連する問題