从当前日期减去年数

时间:2013-07-05 08:37:57

标签: asp.net vb.net

我无法从当前日期减去所需的年数。 如果我们可以在当前日期添加年份,例如:

DateTime.Now.AddYears(1)

为什么没有这样的方法来减去年数?

3 个答案:

答案 0 :(得分:3)

由于:

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));
}

答案 1 :(得分:2)

你不需要单独的方法。只需将AddYears-1

一起使用即可
DateTime.Now.AddYears(-1)

根据MSDN DateTime.AddYears Method

  

好几年了。 值参数可以是负数或正数。

答案 2 :(得分:0)

你可以试试这个

DateTime.Now.AddYears(-1)