ヘッダー
Visual Basic サンプル集
VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

西暦と和暦を変換する

2020/6/18

→ C# のサンプルに切り替える

 

2012/6/27 を和暦で表示する

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim sourceDate As New Date(2012, 6, 27) 'または Dim sourceDate As Date = Date.Parse("2012/6/27")

Dim Japanese As New CultureInfo("ja-JP")
Japanese.DateTimeFormat.Calendar = New JapaneseCalendar

Dim wareki As String = sourceDate.ToString("ggy年M月d日", Japanese)

Debug.WriteLine(wareki) '平成24年6月27日 と表示されます。

 → Debug.WriteLineが表示される場所

メモ:1年は「元年」と表示されます。たとえば、「令和元年6月27日」。

メモ:1873年1月1日より前の西暦を正確な和暦で表現することはできません。1868年9月8日より前の西暦を和暦で表示しようとするとエラー(ArgumentOutOfRangeException)になります。

 

 

平成24年6月27日を西暦で表示する

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応

Dim wareki As String = "平成24年6月27日"
Dim seireki As Date = Date.Parse(wareki, New CultureInfo("ja-JP"))

Debug.WriteLine(seireki.ToString("yyyy\/MM\/dd")) '2012/06/27 と表示されます。

 → Debug.WriteLineが表示される場所

メモ:「令和」「平成」「昭和」「大正」「明治」の代わりに「令」「平」「昭」「大」「明」または「R」「H」「S」「T」「M」も使用できます。たとえば、"H24年6月27日"に対してもこの例は動作します。

メモ:昭和80年、平成40年のような元号の範囲を超過した年も該当する西暦に変換されます。

メモ:明治6年1月1日より前の和暦を正確に扱うことはできません。明治1年9月8日より前の和暦を日付に変換しようとするとエラー(FormatException)になります。