我有兩個日曆,每個都會從calendar.SelectedDate返回一個DateTime。減去兩個日期
我該如何去相互減去兩個選定的日期,給我兩個選擇之間的天數?
有一個calendar.subtract(),但它需要一個TimeSpan而不是DateTime。
我有兩個日曆,每個都會從calendar.SelectedDate返回一個DateTime。減去兩個日期
我該如何去相互減去兩個選定的日期,給我兩個選擇之間的天數?
有一個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
方法,而不是-
運營商,如果你想,但我個人覺得更清晰的使用操作。)
這是一個大膽的人糾正SkeetCode(tm)。祝福Bhushan。 – keithl8041
想想吧。
你如何表達兩個日期之間的差異?再過幾天?
這就是爲什麼你需要的時間跨度
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);
實際上,使用TimeSpan來表示兩個日期之間的差異存在各種問題,但在*這種情況下它沒關係:) –
感謝您的所有輸入。其實我只需要一天,我沒有看到Subtract方法也可以採用DateTime參數,這意味着我需要的只是這個:untilCalendar.SelectedDate.Subtract(fromCalendar.SelectedDate).Days –
@sd_dracula:你確實更喜歡使用'減法'的方法而不是操作員? –
您也可以通過'減()''一和TimeSpan'它會返回一個'DateTime'。 http://msdn.microsoft.com/en-us/library/ae6246z1%28v=vs.110%29.aspx – northben