正月だからというわけではないのだが、VBで西暦を和暦に変換する方法のメモ。
JapaneseCalendarを使用することで、西暦を和暦に変換することができる。
元号は、フォーマットに “gg” を指定することで出力できる。
サンプルコード
■和暦の年だけ(平成XX年のXXの部分)
'和暦の年だけを取得する(元号は無し) Dim culture As Globalization.CultureInfo = New Globalization.CultureInfo("ja-JP") culture.DateTimeFormat.Calendar = New System.Globalization.JapaneseCalendar Dim japanYear As String japanYear = Today.ToString("yy", culture)
■元号付の日付(平成XX年12月31日 の形式)
'和暦を元号つきで取得する Dim culture As Globalization.CultureInfo = New Globalization.CultureInfo("ja-JP") culture.DateTimeFormat.Calendar = New System.Globalization.JapaneseCalendar Dim japanDate As String japanDate = Today.ToString("ggyy年M月d日", culture)
元号への変換も、.NET Frameworkが提供しているライブラリで
変換できるのだから便利だ。
気になるのは、.NET Frameworkのバージョンアップが早いこと。
もし元号が変わってしまったら、そのとき、古い.NET Frameworkでも
ちゃんとサポート(更新)されるのだろうか。
提供されているフレームワークは便利な分、何かとのトレードオフになるので
割り切るしかないだろう。
でも、本当に西暦から元号への変換が楽だ。