Ответ 1
Вы можете использовать someDateTime.Subtract(otherDateTime)
, это возвращает TimeSpan
, у которого есть свойство TotalDays
.
У меня есть два календаря, и каждый возвращает DateTime из calendar.SelectedDate.
Как мне выбрать вычитание двух выбранных дат друг от друга, давая мне количество дней между двумя выборами?
Существует calendar.Subtract(), но ему требуется TimeSpan вместо DateTime.
Вы можете использовать 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
вместо оператора -
, если хотите, но лично я нахожу его более понятным для использования.)
Подумайте об этом.
Как вы выражаете разницу между двумя датами? С другой датой?
Вот почему вам нужен 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);