我无法从当前日期减去所需的年数。如果我们可以将年份添加到当前日期,例如:
DateTime.Now.AddYears(1)
为什么没有这样的方法来减去年份?
因为:
DateTime.Now.AddYears(-1)
但是,如果你真的想要一个 SubtractYears 方法,你总是可以使用
public static class DateExtensions
{
public static DateTime SubtractYears(this DateTime dateTime, int years)
{
return dateTime.AddYears(-years);
}
}
并对其进行测试:
[TestCase(0)]
[TestCase(1)]
[TestCase(2)]
[TestCase(10)]
[TestCase(2012)]
public void SubtractYearsWorks(int i)
{
var now = DateTime.Now;
Assert.AreEqual(now.AddYears(-i), now.SubtractYears(i));
}
你不需要单独的方法。只需AddYears
使用-1
:
DateTime.Now.AddYears(-1)
根据 MSDNDateTime.AddYears
方法:
数年。value 参数可以是负数或正数。
你可以试试这个
DateTime.Now.AddYears(-1)