日付の差分をもとめる

日数を求めるだけなら単純に引けばよい

DateTime dateFrom = new DateTime(2008, 1, 10);
DateTime dateTo = new DateTime(2008, 1, 25);
TimeSpan span = dateTo - dateFrom;
int days = span.TotalDays;


2008/2/13〜2008/4/12までの月数を求める場合は以下のようにする(開始日の日の部分の前日に満1ヶ月)

DateTime dateFrom = new DateTime(2008, 2, 13);
DateTime dateTo = new DateTime(2008, 4, 12);
DateTime dateToNextDay = dateTo.AddDays(1);
Long diffMonth = DateAndTime.DateDiff(
    DateInterval.Month, dateFrom, dateToNextDay);
if (dateFrom.Day > dateToNextDay.Day) {
    diffMonth--;
}

DateAndTime.DateDiffメソッドはMicrosoft.VisualBasicなメソッドなので注意が必要。


コンパイル通してないんで間違ってるかも