Come sottrarre un anno dal datetime?


86

Come sottrarre un anno dal datetime corrente usando c #?

Risposte:


189
var myDate = DateTime.Now;
var newDate = myDate.AddYears(-1);

Grazie. Un'altra domanda correlata: come sottrarre la settimana?
Jango

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

Sottraendo una settimana:

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

8

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);
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.