Làm thế nào để trừ một năm khỏi datetime?


86

Làm cách nào để trừ một năm khỏi datetime hiện tại bằng c #?

Câu trả lời:


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

Cảm ơn. Một câu hỏi liên quan khác - làm thế nào để trừ tuần?
— Jango

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

Trừ một tuần:

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

8

Có thể cần lưu ý rằng câu trả lời được chấp nhận có thể điều chỉnh ngày theo 365 ngày hoặc 366 ngày do năm nhuận (nó lấy ngày cho cùng một ngày của tháng một năm trước, ngoại trừ ngày 29 tháng 2 trong đó nó trả về ngày 28 Tháng hai).

Trong phần lớn các trường hợp, đây chính xác là những gì bạn muốn, tuy nhiên nếu bạn coi một năm là một đơn vị thời gian cố định (ví dụ năm Julian ) thì bạn sẽ cần phải trừ đi một trong hai ngày;

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

hoặc giây;

        var oneFullJulianYearAgo = DateTime.Now.AddSeconds(-31557600);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.