2010-05-19 88 views
7

我想從DateTime中扣除。例如:從'DateTime'中扣除

date1 = 13/01/2004 12:20:00 
result = Subtract(date1-15); 

預期輸出:

13/01/2004 12:05:00 

我該怎麼辦呢?

+1

@Will,爲什麼谷歌檢查的時候,我們有計算器! – code4life 2010-05-19 16:42:20

+0

@ code4life:因爲這是一個懶惰的練習來問一個關於減去分鐘的問題,何時可以添加負數的分鐘數。這是一個純粹的數學練習。 IntelliSense提供了'AddMinutes()'方法。 – 2010-05-19 16:46:55

+0

@會 - 在這種情況下,我們應該建議OP使用IntelliSense,你不同意嗎?總體來說,stackoverflow>谷歌,國際海事組織... :) (或我們應該這樣做) – code4life 2010-05-19 16:57:22

回答

41

你可以看看的AddMinutes方法:

var result = date1.AddMinutes(-15); 
+10

請注意,調用DateTime.AddMinutes(-1)'已初始化爲DateTime.MinValue值拋出一個例外。請小心! – 2010-05-19 16:36:36

3

使用DateTime.Add(TimeSpan)一個負值。

或者使用DateTime.AddDays()DateTime.AddMinutes()

3

你可以試試這個:

TimeSpan t1 = new TimeSpan(16,0,0); 
DateTime d2= datetime.Subtract(t1); 
4
System.DateTime date1 = new System.DateTime(1996, 6, 3, 22, 15, 0); 
System.DateTime date2 = new System.DateTime(1996, 12, 6, 13, 2, 0); 
System.DateTime date3 = new System.DateTime(1996, 10, 12, 8, 42, 0); 

// diff1 gets 185 days, 14 hours, and 47 minutes. 
System.TimeSpan diff1 = date2.Subtract(date1); 

// date4 gets 4/9/1996 5:55:00 PM. 
System.DateTime date4 = date3.Subtract(diff1); 

// diff2 gets 55 days 4 hours and 20 minutes. 
System.TimeSpan diff2 = date2 - date3; 

// date5 gets 4/9/1996 5:55:00 PM. 
System.DateTime date5 = date1 - diff2;