11

誤って0をDateTimeFormatInfoGetMonthNameメソッドに渡しました:

DateTimeFormatInfo info = new DateTimeFormatInfo();
var monthName = info.GetMonthName(0);

そして、System.ArgumentOutOfRangeExceptionこのエラーメッセージが表示されます。有効な値は1〜13です。

1から12を渡すと、「1月」から「12月」が返されますが、13を渡すと、空の文字列が返されます。

月番号がゼロインデックスになっていない理由はわかりますが、13か月目は何ですか?

4

3 に答える 3

13

これは、カレンダーオブジェクトが13か月に対応できるためです(太陰暦に基づいてカレンダーを処理するため)。MSDNを参照してください。

http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.getmonthname.aspx

カレンダーオブジェクトは、13か月のカレンダーに対応できます。12か月のカレンダーの場合、空の文字列は常に13か月の名前として返されます。

于 2011-05-13T12:28:24.743 に答える
7

MSDNによると

カレンダーオブジェクトは、13か月のカレンダーに対応できます。12か月のカレンダーの場合、空の文字列は常に13か月の名前として返されます。

于 2011-05-13T12:28:58.143 に答える
-2

ユリウス暦( http://en.wikipedia.org/wiki/Julian_calendar )の飛躍日を決定するために使用されていると思います。ほとんどの使用はグレゴリオ暦を使用するので、心配する必要はありません。

于 2011-05-13T12:29:46.107 に答える