如何从日期时间中减去一年?


86

如何使用C#从当前日期时间中减去一年?

Answers:


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

谢谢。另一个相关的问题-如何减去周?
Jango 2010年

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

减去一周:

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

8

可能值得注意的是,由于leap年,可接受的答案可能会将日期调整为365天或366天(它获得一年前同一天的日期,但2月29日除外,该日期返回28日)二月)。

在绝大多数情况下,这正是您想要的,但是,如果将一年作为固定的时间单位(例如儒略年),则需要从任一天中减去;

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

或秒;

        var oneFullJulianYearAgo = DateTime.Now.AddSeconds(-31557600);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.