ASP.NET(VB) 西暦を和暦に変換する

正月だからというわけではないのだが、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でも
ちゃんとサポート(更新)されるのだろうか。

提供されているフレームワークは便利な分、何かとのトレードオフになるので
割り切るしかないだろう。
でも、本当に西暦から元号への変換が楽だ。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする