Как вычесть год из даты?

Как вычесть год из текущего datetime с помощью С#?

Ответ 1

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

Ответ 2

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

Вычитание недели:

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

Ответ 3

Возможно, стоит отметить, что принятый ответ может скорректировать дату на 365 дней или 366 дней из-за високосных лет (он получает дату в тот же день месяца год назад, за исключением 29 февраля, когда он возвращается 28 февраля).

В подавляющем большинстве случаев это именно то, что вы хотите, однако, если вы рассматриваете год как фиксированную единицу времени (например, юлианский год), тогда вам нужно будет вычесть из двух дней:

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

или секунды;

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