2つのカレンダーがあり、それぞれがcalendar.SelectedDateからDateTimeを返します。
選択した2つの日付を互いに減算して、2つの選択の間の日数を計算するにはどうすればよいですか?
calendar.Subtract()がありますが、DateTimeの代わりにTimeSpanが必要です。
を使用できます。これにより、プロパティを持つがsomeDateTime.Subtract(otherDateTime)
返されます。TimeSpan
TotalDays
使用するだけです:
TimeSpan difference = end - start;
double days = difference.TotalDays;
それらを日付として扱いたい場合は、おそらく使用する必要があることに注意してください
TimeSpan difference = end.Date - start.Date;
int days = (int) difference.TotalDays;
そうすれば、時間によって異なる結果が得られることはありません。
(必要に応じてSubtract
、演算子の代わりにメソッドを使用できます-
が、個人的には演算子を使用する方が明確です。)
考えてみてください。
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);