VB.NET YYYYMMDD書式の文字列が日付かどうか判定する
VB.NET
で、YYYYMMDD書式の文字列
が日付として妥当かどうかを判定します。
以下のように、Date.TryParseExact
を使用して、日付型の文字列に変換可能かどうかで判定しています。
Public Function CheckDate(ByVal target As String) As Boolean
Dim tmp As Date
If Date.TryParseExact(target,
"yyyyMMdd",
Globalization.CultureInfo.InvariantCulture,
Globalization.DateTimeStyles.None,
tmp) Then
'targetは日付として妥当
Return True
Else
'targetは日付として不正
Return False
End If
End Function
解説
Date.TryParseExact(判定したい文字列, 日付書式, カルチャ設定, 日付スタイル)
の形式で指定します。
カルチャ設定
地域固有の設定情報です。例えば日本の和暦を扱いたい場合などに指定します。
InvariantCulture
は特定のカルチャに依存しない設定のため、特殊な状況でない場合はこの設定で問題ありません。