正月だからというわけではないのだが、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でも
ちゃんとサポート(更新)されるのだろうか。
提供されているフレームワークは便利な分、何かとのトレードオフになるので
割り切るしかないだろう。
でも、本当に西暦から元号への変換が楽だ。