Visual Basic サンプル集 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Visual Basic 中学校 > Visual Basic サンプル集 > Visual Basic サンプル集目次 >
文字列を日付に変換する例
1.さまざまな変換例
1-1."2004/08/05"を日付に変換する例
Dim d As Date = Date.Parse("2004/08/05") |
1-2."2004/8/5"を日付に変換する例
Dim d As Date = Date.Parse("2004/8/5") |
1-3."2004年08月05日"を日付に変換する例
Dim d As Date = Date.Parse("2004年08月05日") |
1-4."04/08/05"を日付に変換する例
Dim d As Date = Date.Parse("04/08/05") |
1-5."20040805"を日付に変換する例
Dim d As Date = Date.ParseExact("20040805", "yyyyMMdd", CultureInfo.InvariantCulture) |
1-6."H16/08/05"を日付に変換する例
年号のアルファベットの略称を含む場合です。
Dim d As Date = Date.Parse("H16/08/05") |
メモ:和暦の明治5年12月2日以前の日付は正確に西暦に変換できません。
メモ:地域が日本以外に設定されているOSではこの変換は失敗します。次のように文化を指定するとどのような設定でも成功します。
Dim d As Date = Date.Parse("H16/08/05", CultureInfo.GetCultureInfo("ja-JP")) |
1-7."平16年8月5日"を日付に変換する例
年号の漢字の略称を含む場合です。
Dim d As Date = Date.Parse("平16年8月5日") |
メモ:和暦の明治5年12月2日以前の日付は正確に西暦に変換できません。
メモ:地域が日本以外に設定されているOSではこの変換は失敗します。次のように文化を指定するとどのような設定でも成功します。
Dim d As Date = Date.Parse("平16年8月5日", CultureInfo.GetCultureInfo("ja-JP")) |
1-8."平成16年8月5日"を日付に変換する例
年号を含む場合です。
Dim d As Date = Date.Parse("平成16年8月5日") |
メモ:和暦の明治5年12月2日以前の日付は正確に西暦に変換できません。
メモ:地域が日本以外に設定されているOSではこの変換は失敗します。次のように文化を指定するとどのような設定でも成功します。
Dim d As Date = Date.Parse("平成16年8月5日", CultureInfo.GetCultureInfo("ja-JP")) |
1-9."08.05.2004"を日付に変換する例
Dim d As Date = Date.Parse("08.05.2004") |
1-10."200408"を日付に変換する例
年月のみの場合です。
'日付は 01 とみなされ、結果は 2004/08/01 になります。 Dim d As Date = Date.ParseExact("200408", "yyyyMM", CultureInfo.InvariantCulture) |
1-11."2004-08-05"を日付に変換する例
ハイフ区切りの場合です。
Dim d As Date = Date.Parse("2004-08-05") |
1-12."2020-05-26T21:19:48+09:00"を日付に変換する例
ISO 8601の拡張形式です。
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の基本形式です。
Dim d As Date = Date.ParseExact("20200526T211948+0900".Substring(0, 15), "yyyyMMddTHHmmss", CultureInfo.InvariantCulture) |
この方法では文字の位置や数が変化すると文字数(15の部分)や書式(yyyyMMddTHHmmssの部分)をそれにあわせて修正する必要があります。
1-14."Monday, June 15, 2009"を日付に変換する例
英語表記の場合です。
Dim d As Date = Date.Parse("Monday, June 15, 2009") |
2.日付に変換できれば変換し、できなければしない例
この例は"Mon, 15 Jun 2009 20:45:30 GMT" が日付に変換できるならば変換して結果を出力ウィンドウのデバッグに表示します。
できなければ「日付に変換できませんでした。」を出力ウィンドウのデバッグに表示します。
メモ:表示される場所がわからない場合はこちらの画像を見てください。 → Debug.WriteLineやDebug.Printが表示される場所
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 |