2009-07-28 2 views

ответ

49

сегодняшней дата один год назад будет

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

Точно, спасибо :) –

+0

+1 за то, что так быстро с меткой! – AdaTheDev

+4

FYI. Это учитывает високосный год: если текущий экземпляр представляет високосный день в високосный год, возвращаемое значение зависит от заданной даты: Если значение + DateTime.Year также является високосным годом, возвращаемое значение представляет собой високосный день в этом году. Например, если к 29 февраля 2012 года добавлено четыре года, возвращается дата 29 февраля 2016 года. Если значение + DateTime.Year не является високосным годом, возвращаемое значение представляет день перед прыжковым днем ​​в этом году. Например, если один год добавлен к 29 февраля 2012 года, то возвращается дата 28 февраля 2013 года. –

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

-1 Дубликат ранее принятого ответа –

+0

Они были буквально на несколько секунд позже, чем тот, кто не намеренно повторял ответы ... это kinda crazy ... – Zargold

5

Что вы имеете в виду под "датой в последние года"?

Если вы просто хотите, дату сегодня минус один год, попробуйте следующее:

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

Я надеюсь, что это то, что вам нужно.

UPDATE: Черт, я способ замедлить это кажется :(

+0

-1 Дубликат ранее принятого ответа –

3

с помощью Fluent DateTime http://fluentdatetime.codeplex.com/

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

+1 По крайней мере, это по-другому. Надеюсь, кто-то (@JonSkeet) расскажет о различных способах сделать это в Noda Time! –