2010-06-07 84 views

回答

133
var myDate = DateTime.Now; 
var newDate = myDate.AddYears(-1); 
+0

謝謝。另一個相關的問題 - 如何減去一週? – Jango 2010-06-07 19:32:32

+7

@learner:使用myDate.AddDays(-7); – 2010-06-07 19:34:30

+1

好主意先生。 Merci – Jango 2010-06-07 19:35:16

32
DateTime oneYearAgoToday = DateTime.Now.AddYears(-1); 

減去一個星期:

DateTime weekago = DateTime.Now.AddDays(-7); 
4

這可能是值得指出的是,公認的答案可以由365天調整之日起366天內到期到閏年(它得到的日期在一年前的一個月的同一天,除2月29日2月28日返回的例外)。

在絕大多數情況下,這正是你想要的,但是如果你把一年當作固定的時間單位(例如the Julian year),那麼你需要從兩天中減去;

 var oneFullJulianYearAgo = DateTime.Now.AddDays(-365.25); 

或秒;

 var oneFullJulianYearAgo = DateTime.Now.AddSeconds(-31557600);