Вопрос по timespan, c# – Вычитание двух дат

33

У меня есть два календаря, и каждый возвращает DateTime из calendar.SelectedDate.

Как мне вычитать две выбранные даты друг от друга, давая мне количество дней между двумя выборами?

Есть календарь. Subtract (), но ему нужен TimeSpan вместо DateTime.

Ваш Ответ

3   ответа
42

someDateTime.Subtract(otherDateTime), это возвращаетTimeSpan который имеетTotalDays имущество.

Error: User Rate Limit ExceededSubtract()Error: User Rate Limit ExceededTimeSpanError: User Rate Limit ExceededDateTime. msdn.microsoft.com/en-us/library/ae6246z1%28v=vs.110%29.aspx
29

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

Обратите внимание, что если вы хотите относиться к ним какdates вы, вероятно, должны использовать

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

Таким образом, вы не получите разных результатов в зависимости от времени.

(Вы можете использоватьSubtract метод вместо- оператор, если хотите, но лично мне проще пользоваться оператором.)

Error: User Rate Limit Exceeded
3


Как вы выражаете разницу между двумя датами? С другой датой?
Вот почему вам нужен 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);
Error: User Rate Limit Exceeded sd_dracula
Error: User Rate Limit ExceededthisError: User Rate Limit Exceeded
Error: User Rate Limit ExceededSubtractError: User Rate Limit Exceeded

Похожие вопросы