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

日付を文字列に変換する例

2020/6/18

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

 

"2004/08/05" のように変換する例

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

Dim sourceDate As Date = New Date(2004, 8, 5)
Dim st As String = sourceDate.ToString("yyyy\/MM\/dd")

Debug.WriteLine(st) '2004/08/05 と表示されます。

Debug.WriteLineが表示される場所

 

"2004/8/5" のように変換する例

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

Dim sourceDate As Date = New Date(2004, 8, 5)
Dim st As String = sourceDate.ToString("yyyy\/M\/d")

Debug.WriteLine(st) '2004/8/5 と表示されます。

Debug.WriteLineが表示される場所

 

"2004年08月05日" のように変換する例

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

Dim sourceDate As Date = New Date(2004, 8, 5)
Dim st As String = sourceDate.ToString("yyyy年MM月dd日")

Debug.WriteLine(st) '2004年08月05日 と表示されます。

Debug.WriteLineが表示される場所

 

"04/08/05" のように変換する例

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

Dim sourceDate As Date = New Date(2004, 8, 5)
Dim st As String = sourceDate.ToString("yy\/MM\/dd")

Debug.WriteLine(st) '04/08/05 と表示されます。

Debug.WriteLineが表示される場所

 

"20040805" のように変換する例

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

Dim sourceDate As Date = New Date(2004, 8, 5)
Dim st As String = sourceDate.ToString("yyyyMMdd")

Debug.WriteLine(st) '20040805 と表示されます。

Debug.WriteLineが表示される場所

 

 

"H16/08/05" のように変換する例

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

Dim sourceDate As New Date(2004, 8, 5)

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

Dim st As String = sourceDate.ToString("ggy\/MM\/dd", Japanese)

Select Case Japanese.DateTimeFormat.Calendar.GetEra(sourceDate)
    Case 1 '明治
        st = Replace(st, "明治", "M")
    Case 2 '大正
        st = Replace(st, "大正", "T")
    Case 3 '昭和
        st = Replace(st, "昭和", "S")
    Case 4 '平成
        st = Replace(st, "平成", "H")
    Case 5 '令和
        st = Replace(st, "令和", "R")
End Select

Debug.WriteLine(st) 'H16/08/05 と表示されます。

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

参考:和暦と西暦を変換する

 

別のやり方

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

Dim sourceDate As Date = New Date(2004, 8, 5)

Dim japaneseCalendar As New JapaneseCalendar
Dim eraPredix As String = {"M", "T", "S", "H", "R"}(japaneseCalendar.GetEra(sourceDate) - 1)
Dim st As String = String.Format("{0}{1}{2:\/MM\/dd}", eraPredix, japaneseCalendar.GetYear(sourceDate), sourceDate)

Debug.WriteLine(st) 'H16/08/05 と表示されます。

Debug.WriteLineが表示される場所

 

 

"平16年8月5日" のように変換する例

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

Dim sourceDate As New Date(2004, 8, 5)

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

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

Select Case Japanese.DateTimeFormat.Calendar.GetEra(sourceDate)
    Case 1 '明治
        st = Replace(st, "明治", "明")
    Case 2 '大正
        st = Replace(st, "大正", "大")
    Case 3 '昭和
        st = Replace(st, "昭和", "昭")
    Case 4 '平成
        st = Replace(st, "平成", "平")
    Case 5 '令和
        st = Replace(st, "令和", "令")
End Select

'デフォルトでは1年は「元年」です。「元年」ではなく「1年」にしたい場合、このコメントを解除します。
'st = Replace(st, "元年", "1年")

Debug.WriteLine(st) '平16年8月5日 と表示されます。

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

参考:和暦と西暦を変換する

 

別のやり方

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

Dim sourceDate As Date = New Date(2004, 8, 5)

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

Dim eraName As String = Japanese.DateTimeFormat.GetAbbreviatedEraName(japaneseCalendar.GetEra(sourceDate))

Dim st As String = String.Format("{0}{1}", eraName, sourceDate.ToString("y年M月d日", Japanese))

Debug.WriteLine(st) '平16年8月5日 と表示されます。

Debug.WriteLineが表示される場所

メモ:1年は「元年」に変換されます。

 

"平成16年8月5日" のように変換する例

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

Dim sourceDate As New Date(2004, 8, 5)

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

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

Debug.WriteLine(st) '平成16年8月5日 と表示されます。

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

参考:和暦と西暦を変換する

メモ:1年は「元年」に変換されます。

 

"08.05.2004" のように変換する例

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

Dim sourceDate As Date = New Date(2004, 8, 5)
Dim st As String = sourceDate.ToString("MM\.dd\.yyyy")

Debug.WriteLine(st) '08.05.2004 と表示されます。

Debug.WriteLineが表示される場所

 

"200408" のように変換する例

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

Dim sourceDate As Date = New Date(2004, 8, 5)
Dim st As String = sourceDate.ToString("yyyyMM")

Debug.WriteLine(st) '200408 と表示されます。

Debug.WriteLineが表示される場所