Comment soustraire une année de la date / heure?

86

Comment soustraire une année de la date / heure actuelle en utilisant C #?

Jango
la source

Réponses:

189
var myDate = DateTime.Now;
var newDate = myDate.AddYears(-1);
RedFilter
la source
Merci. Une autre question connexe - comment soustraire une semaine?
Jango
40
DateTime oneYearAgoToday = DateTime.Now.AddYears(-1);

Soustraire une semaine:

DateTime weekago = DateTime.Now.AddDays(-7);
kemiller2002
la source
8

Il peut être intéressant de noter que la réponse acceptée peut ajuster la date de 365 jours ou 366 jours en raison d'années bissextiles (elle obtient la date du même jour du mois il y a un an, à l'exception du 29 février où elle renvoie le 28 Février).

Dans la grande majorité des cas, c'est exactement ce que vous voulez, cependant si vous traitez une année comme une unité de temps fixe (par exemple l'année julienne ), vous devrez soustraire l'un ou l'autre des jours;

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

ou secondes;

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