2012-05-18 105 views
1

我在Winform中使用以下代碼來減去兩個日期時間。這些是完整的日期時間,包括日期和月份以及年份。我想知道如何才能減去兩個日期時間只有日和月。例如減去5/12和6/12而沒有任何年份。減去兩個日期時間

 DateTime date1 = new DateTime(byear, bmonth, bday, 0, 0, 0); 
    DateTime datenow = DateTime.Now; 
TimeSpan timeSpan = datenow - date1; 

請給我一些代碼,以便我可以減去兩個日期時間的日期和月份。

在此先感謝

+5

什麼閏年?換句話說,你試圖做的是毫無意義的。 –

+0

只是日月 – aliboy38

+0

「5/12」是12月5日還是5月12日? –

回答

0

你可以使用一些默認像今年datetime.now做減法像正常。 雖然2012年是閏年,但這並不適用於非閏年。

DateTime dt1= new DateTime(DateTime.Now.Year, month1, day1); 
DateTime dt2= new DateTime(DateTime.Now.Year, month2, day2); 
TimeSpan t= dt1 - dt2; 
+3

我會避免兩次調用'DateTime.Now.Year',因爲它是非確定性的,你可能會在第二次得到不同的結果。 –

2

試試這個:

int year = DateTime.Now.Year; 
DateTime dt1 = new DateTime(year, month1 , day1); 
DateTime dt2 = new DateTime(year, month2, day2); 
int days = (int) Math.Round((dt1 - dt2).TotalDays);