5

この例があり、「文字列 x から dateTime への変換が無効です」という例外が発生します。

これが日時を検証する私の方法です。

例 日付文字列:「1985/03/27」

Public Function validateDateColumn(ByRef FieldName As String) As Boolean

    Try
        If IsDate(FieldName) Then
            Dim actualDate As DateTime = CDate(FieldName)
            Dim DtLicExp As DateTime = CDate(actualDate.ToString("d", Thread.CurrentThread.CurrentCulture))
            FieldName = DtLicExp.ToString("MM/dd/yyyy")
            Return True
        End If
    Catch ex As Exception
        'FieldName &= "Format must be MM/dd/yyyy"
        Return False
    End Try

End Function

この日付文字列形式をdatetimeに検証するアイデア。

この日付「27/03/1985」をdatetimeに変換したい。

私はvb.netでasp.netを使用しています。

4

3 に答える 3

7

DateTime.TryParseExact メソッドまたはDateTime.ParseExact メソッドの使用をご覧ください。

于 2010-12-01T18:52:44.290 に答える
1

この実装は、フォーマットの日付を解析し、必要dd/MM/yyyyに応じて日付文字列をに更新しMM/dd/yyyyます。DateTime.TryParseExact解析する必要のある日付の形式を指定できます。

Public Function validateDateColumn(ByRef FieldName As String) As Boolean

  validateDateColumn = False

  Dim dateValue As DateTime

  if DateTime.TryParseExact(FieldName, _
      "dd/MM/yyyy", CultureInfo.InvariantCulture, _
      DateTimeStyles.None, dateValue) Then

      validateDateColumn = True
      FieldName = dateValue.ToString("MM/dd/yyyy")
  End If

End Function
于 2010-12-01T18:55:09.880 に答える
0

方法を試すことができTryParseます。

Dim myDateString as String = "7/7/2010"
Dim myDate as DateTime
Dim isDate As Boolean = DateTime.TryParse(myDateString, myDate)

If isDate Then
    ' Yay I'm a real date
End If
于 2010-12-01T18:53:50.873 に答える