現在の日付から必要な年数を引くことができません。次のように現在の日付に年を追加できるとします。
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)
DateTime.AddYears
MSDNメソッドによると:
数年。value パラメーターは、負または正の値にすることができます。
これを試すことができます
DateTime.Now.AddYears(-1)