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

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

1.さまざまな変換例

 

1-1."2004/08/05"を日付に変換する例

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


Dim d As Date = Date.Parse("2004/08/05")

 

1-2."2004/8/5"を日付に変換する例

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


Dim d As Date = Date.Parse("2004/8/5")

 

1-3."2004年08月05日"を日付に変換する例

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


Dim d As Date = Date.Parse("2004年08月05日")

 

1-4."04/08/05"を日付に変換する例

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


Dim d As Date = Date.Parse("04/08/05")

 

1-5."20040805"を日付に変換する例

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


Dim d As Date = Date.ParseExact("20040805", "yyyyMMdd", CultureInfo.InvariantCulture)

 

1-6."H16/08/05"を日付に変換する例

年号のアルファベットの略称を含む場合です。

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


Dim d As Date = Date.Parse("H16/08/05")

メモ:和暦の明治5年12月2日以前の日付は正確に西暦に変換できません。

メモ:地域が日本以外に設定されているOSではこの変換は失敗します。次のように文化を指定するとどのような設定でも成功します。

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


Dim d As Date = Date.Parse("H16/08/05", CultureInfo.GetCultureInfo("ja-JP"))

 

1-7."平16年8月5日"を日付に変換する例

年号の漢字の略称を含む場合です。

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


Dim d As Date = Date.Parse("平16年8月5日")

メモ:和暦の明治5年12月2日以前の日付は正確に西暦に変換できません。

メモ:地域が日本以外に設定されているOSではこの変換は失敗します。次のように文化を指定するとどのような設定でも成功します。

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


Dim d As Date = Date.Parse("平16年8月5日", CultureInfo.GetCultureInfo("ja-JP"))

 

 

1-8."平成16年8月5日"を日付に変換する例

年号を含む場合です。

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


Dim d As Date = Date.Parse("平成16年8月5日")

メモ:和暦の明治5年12月2日以前の日付は正確に西暦に変換できません。

メモ:地域が日本以外に設定されているOSではこの変換は失敗します。次のように文化を指定するとどのような設定でも成功します。

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


Dim d As Date = Date.Parse("平成16年8月5日", CultureInfo.GetCultureInfo("ja-JP"))

 

 

1-9."08.05.2004"を日付に変換する例

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


Dim d As Date = Date.Parse("08.05.2004")

 

1-10."200408"を日付に変換する例

年月のみの場合です。

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


'日付は 01 とみなされ、結果は 2004/08/01 になります。
Dim d As Date = Date.ParseExact("200408", "yyyyMM", CultureInfo.InvariantCulture)

 

1-11."2004-08-05"を日付に変換する例

ハイフ区切りの場合です。

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


Dim d As Date = Date.Parse("2004-08-05")

 

1-12."2020-05-26T21:19:48+09:00"を日付に変換する例

ISO 8601の拡張形式です。

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


Dim d As Date = Date.Parse("2020-05-26T21:19:48+09:00", Nothing, DateTimeStyles.RoundtripKind)

この方法で 2004-04-01T12:00Z のような形式や、2020-05-26T21:19:48 のような形式(UTCと時差がない形式) も変換できます。

 

1-13."20200526T211948+0900"を日付に変換する例

ISO 8601の基本形式です。

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


Dim d As Date = Date.ParseExact("20200526T211948+0900".Substring(0, 15), "yyyyMMddTHHmmss", CultureInfo.InvariantCulture)

この方法では文字の位置や数が変化すると文字数(15の部分)や書式(yyyyMMddTHHmmssの部分)をそれにあわせて修正する必要があります。

 

1-14."Monday, June 15, 2009"を日付に変換する例

英語表記の場合です。

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


Dim d As Date = Date.Parse("Monday, June 15, 2009")

 

2.日付に変換できれば変換し、できなければしない例

この例は"Mon, 15 Jun 2009 20:45:30 GMT" が日付に変換できるならば変換して結果を出力ウィンドウのデバッグに表示します。

できなければ「日付に変換できませんでした。」を出力ウィンドウのデバッグに表示します。

メモ:表示される場所がわからない場合はこちらの画像を見てください。 → Debug.WriteLineやDebug.Printが表示される場所

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

Dim value As String = "Mon, 15 Jun 2009 20:45:30 GMT"
Dim result As Date

If Date.TryParse(value, result) Then
    Debug.WriteLine("日付変換成功。結果は" & result)
Else
    Debug.WriteLine("日付に変換できませんでした。")
End If