Como subtrair um ano do datetime?


86

Como subtrair um ano da data e hora atual usando c #?

Respostas:


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

Obrigado. Uma outra questão relacionada - como subtrair semana?
Jango

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

Subtraindo uma semana:

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

8

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);
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.