1

開始日 (2013 年 1 月 15 日と仮定) と、開始日 (終了日は 2014 年 2 月 13 日) から経過した合計日数 (395 日と仮定) があります。では、これらの日数が何月であるかを計算するにはどうすればよいでしょうか。

4

1 に答える 1

0

月の定義に応じて、Math.Ceil(days / 30)またはMath.Floor(days / 30).

fromDateに月を追加してループすることができます:

DateTime from = new DateTime(2013, 01, 15);
DateTime to = from.AddDays(395);
var months = 0;
var date = from;

while(date <= to)
{
    ++months;
    date = date.AddMonths(1);
}

別のトリックは次のとおりです。

DateTime diff = DateTime.MinValue + (to - from);

// note: MinValue is 1/1/1 so we have to subtract...
var years = diff.Year - 1;
var months = diff.Month - 1;

months += years * 12;
于 2013-06-19T15:41:15.123 に答える