Come sottrarre un anno dal datetime corrente usando c #?
Risposte:
var myDate = DateTime.Now;
var newDate = myDate.AddYears(-1);
DateTime oneYearAgoToday = DateTime.Now.AddYears(-1);
Sottraendo una settimana:
DateTime weekago = DateTime.Now.AddDays(-7);
Potrebbe valere la pena notare che la risposta accettata può modificare la data di 365 giorni o 366 giorni a causa degli anni bisestili (ottiene la data per lo stesso giorno del mese di un anno fa, ad eccezione del 29 febbraio dove restituisce il 28 Febbraio).
Nella stragrande maggioranza dei casi questo è esattamente ciò che desideri, tuttavia se stai trattando un anno come un'unità di tempo fissa (ad esempio l'anno giuliano ), dovrai sottrarre da entrambi i giorni;
var oneFullJulianYearAgo = DateTime.Now.AddDays(-365.25);
o secondi;
var oneFullJulianYearAgo = DateTime.Now.AddSeconds(-31557600);