¿Cómo restar un año de la fecha y hora?

86

¿Cómo restar un año de la fecha y hora actual usando c #?

Jango
fuente

Respuestas:

189
var myDate = DateTime.Now;
var newDate = myDate.AddYears(-1);
RedFilter
fuente
Gracias. Otra pregunta relacionada: ¿cómo restar la semana?
Jango
40
DateTime oneYearAgoToday = DateTime.Now.AddYears(-1);

Restando una semana:

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

Vale la pena señalar que la respuesta aceptada puede ajustar la fecha en 365 días o 366 días debido a años bisiestos (obtiene la fecha para el mismo día del mes hace un año, con la excepción del 29 de febrero, donde devuelve 28 Febrero).

En la gran mayoría de los casos, esto es exactamente lo que desea, sin embargo, si está tratando un año como una unidad de tiempo fija (por ejemplo, el año juliano ), entonces deberá restar de cualquiera de los días;

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

o segundos;

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