Como subtrair um ano da data e hora atual usando c #?
Respostas:
DateTime oneYearAgoToday = DateTime.Now.AddYears(-1);
Subtraindo uma semana:
DateTime weekago = DateTime.Now.AddDays(-7);
Pode ser interessante notar que a resposta aceita pode ajustar a data em 365 dias ou 366 dias devido a anos bissextos (obtém a data para o mesmo dia do mês um ano atrás, com exceção de 29 de fevereiro onde retorna 28 Fevereiro).
Na grande maioria dos casos, isso é exatamente o que você deseja; no entanto, se estiver tratando um ano como uma unidade fixa de tempo (por exemplo, o ano juliano ), será necessário subtrair de qualquer um dos dias;
var oneFullJulianYearAgo = DateTime.Now.AddDays(-365.25);
ou segundos;
var oneFullJulianYearAgo = DateTime.Now.AddSeconds(-31557600);