2009-07-28 13 views

risposta

49

di oggi data un anno fa, sarebbe

DateTime lastYear = DateTime.Today.AddYears(-1); 
+0

Esattamente, grazie :) –

+0

+1 per essere così veloce nel segno! – AdaTheDev

+4

FYI, Questo tiene conto dell'anno bisestile: Se l'istanza corrente rappresenta il giorno bisestile in un anno bisestile, il valore restituito dipende dalla data di destinazione: Se il valore + DateTime.Year è anche un anno bisestile, il valore restituito rappresenta il giorno bisestile in quell'anno. Ad esempio, se vengono aggiunti quattro anni al 29 febbraio 2012, la data restituita è il 29 febbraio 2016. Se valore + DateTime.Year non è un anno bisestile, il valore restituito rappresenta il giorno precedente al giorno bisestile di quell'anno. Ad esempio, se viene aggiunto un anno al 29 febbraio 2012, la data restituita è il 28 febbraio 2013. –

2
DateTime.Now.AddYears(-1); 
+0

-1 Duplicato della risposta accettata in precedenza –

+0

Sono stati letteralmente secondi dopo che l'altro ragazzo non ripete intenzionalmente le risposte ... questo è kinda crazy ... – Zargold

5

Cosa si intende per "ultimi anni Data"?

Se si desidera solo la data di oggi meno un anno, provare quanto segue:

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

spero che sia quello che ti serve.

UPDATE: Accidenti, sto modo per rallentare sembra :(

+0

-1 Duplicato della risposta accettata in precedenza –

3

utilizzando DateTime perfetto http://fluentdatetime.codeplex.com/

var oneYearAgo = 1.Years().Ago(); 
+0

+1 Almeno questo è diverso. Spero che qualcuno (@JonSkeet) parlerà attraverso i vari modi di farlo in Noda Time! –

Problemi correlati