41

2つのカレンダーがあり、それぞれがcalendar.SelectedDateからDateTimeを返します。

選択した2つの日付を互いに減算して、2つの選択の間の日数を計算するにはどうすればよいですか?

calendar.Subtract()がありますが、DateTimeの代わりにTimeSpanが必要です。

4

3 に答える 3

53

を使用できます。これにより、プロパティを持つがsomeDateTime.Subtract(otherDateTime)返されます。TimeSpanTotalDays

于 2012-06-03T15:56:12.380 に答える
35

使用するだけです:

TimeSpan difference = end - start;
double days = difference.TotalDays;

それらを日付として扱いたい場合は、おそらく使用する必要があることに注意してください

TimeSpan difference = end.Date - start.Date;
int days = (int) difference.TotalDays;

そうすれば、時間によって異なる結果が得られることはありません。

(必要に応じてSubtract、演算子の代わりにメソッドを使用できます-が、個人的には演算子を使用する方が明確です。)

于 2012-06-03T15:56:20.130 に答える
3

考えてみてください。
2つの日付の違いをどのように表現しますか?別の日付で?
そのため、TimeSpanが必要です

DateTime dtToday = new System.DateTime(2012, 6, 2, 0, 0, 0);
DateTime dtMonthBefore = new System.DateTime(2012, 5, 2, 0, 0, 0);
TimeSpan diffResult = dtToday.Subtract(dtMonthBefore);
Console.WriteLine(diffResult.TotalDays);
于 2012-06-03T15:59:00.573 に答える