Як відняти рік від дати і часу?


86

Як відняти рік від поточного часу за допомогою c #?

Відповіді:


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

Дякую. Ще одне пов'язане питання - як відняти тиждень?
Jango

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

Віднімання тижня:

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

8

Варто зауважити, що прийнята відповідь може скоригувати дату на 365 днів або на 366 днів через високосні роки (вона отримує дату того самого дня місяця рік тому, за винятком 29 лютого, коли вона повертається 28 числа Лютий).

У переважній більшості випадків це саме те, що ви хочете, однак якщо ви розглядаєте рік як фіксовану одиницю часу (наприклад, юліанський рік ), то вам потрібно буде відняти з будь-якого дня;

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

або секунд;

        var oneFullJulianYearAgo = DateTime.Now.AddSeconds(-31557600);
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.