月名を英語や他の外国語表記にしたり、曜日名を日本語表記にしたり、和暦での年号を付記したりするには、書式を指定した文字列化や特定カルチャの指定を行うことで出来ます。
DateTime/DateTimeOffsetの値を西暦・和暦の表記で文字列化する
Imports System
Imports System.Globalization
Class Sample
Shared Sub Main()
Dim dt1 As New DateTime(2019, 4, 30) ' 2019年4月30日
Dim dt2 As New DateTime(2019, 5, 1) ' 2019年5月1日
' ja-JPのCultureInfoを作成
Dim jajp As New CultureInfo("ja-JP")
' カルチャを指定して文字列化
Console.WriteLine(dt1.ToString("gg yyyy", jajp)) ' 年号+年4桁
Console.WriteLine(dt2.ToString("gg yyyy", jajp))
Console.WriteLine()
' JapaneseCalendarで定義される日付と時刻の書式を使用するように変更
jajp.DateTimeFormat.Calendar = New JapaneseCalendar()
' JapaneseCalendarに変更したカルチャを指定して文字列化
Console.WriteLine(dt1.ToString("gg yyyy", jajp)) ' 年号+年4桁
Console.WriteLine(dt2.ToString("gg yyyy", jajp))
End Sub
End Class
実行結果例
西暦 2019 西暦 2019 平成 31 令和 01
この点について詳しくは日時・文字列の変換と書式で解説します。 以下のページと合わせてご覧ください。