2010-04-30 17 views
11

He visto mucha información sobre cómo restar una fecha y hora de la otra y cómo agregar años a una fecha y hora. pero lo siguiente me está dando un dolor de cabeza ...Resta 1 año de la fecha y hora

Cuando un usuario inserta un registro, se agrega a la base de datos un campo oculto llamado subdate con un valor de datetime.now.

Necesito tener una página de 'registros antiguos' que enumera todas las entradas que tienen más de 1 año de antigüedad y esperaba usar algo (pero usando el método de resta) similar a;

(DateTime.Now.AddYears(1)) 

pero no hay SubtractYears disponibles? ¿Por qué?

Por favor, ¿me puede decir cómo alcanzo el mismo resultado?

Respuesta

52
DateTime.Now.AddYears(-1) 

Desde el documentation:

un número de años. El parámetro de valor puede ser negativo o positivo.

+1

siempre son las cosas simples :) – Phil

+0

Créalo: es simplemente esto. Una solución simple para un problema simple ... el sueño de un programador. –

+1

También simplifica las comprobaciones de edad (aunque no se calcula la edad), ya que puede probar DateTime.Now.AddYears (-18)> birthDate, por ejemplo. – James

Cuestiones relacionadas