2008/12/16

【.NET】System.Globalization.Calendar クラス

ちょいと調べてみました。
System.Globalization.Calendar クラスの中には、グレゴリオ暦、ヘブライ暦、日本の陰暦、中国の陰暦、台湾暦、タイ仏教暦、イスラム暦と、結構色々あるわけです。

なんでベトナム暦がないんだよ…

で、太陽暦の日付を突っ込んだら、それ変換して出してくれるのかなー♪なんて軽い気持ちで書いてみました。


Dim objLunaCal As ChineseLunisolarCalendar
objLunaCal = New ChineseLunisolarCalendar()
Dim dteNow As New DateTime(CInt(Me.txtSolerYear.Text), CInt(Me.txtSolerMonth.Text), CInt(Me.txtSolerDay.Text), New GregorianCalendar)
Dim cultVN As New CultureInfo("vi-VN")
cultVN.DateTimeFormat.Calendar = objLunaCal


案の定、ArgumentOutOfRangeException が Throw されて、悲しく終わってしまうわけです。
見ると、OptionalCalendars プロパティには「太陽暦」しか居ないのです。

じゃぁしょうがねぇな…と、ロケールを香港や中国本土にしてもダメ。

なんなんだよ…とおもってさらに調べてみると、ChineseLunisolarCalendar クラス「現在、ChineseLunisolarCalendar は CultureInfo クラスがサポートしているどのカルチャでも使用されていません。したがって、このクラスは、中国の太陰太陽暦での日付を計算するためにのみ使用できます。」

なんなんだよ、この片手落ちはよぉ!!
思わず期待しちゃったじゃねぇか!!

たのむよ、Redmondの中の人たち…

0 件のコメント: