将日期字符串转换为DateTime格式vb.net

时间:2010-12-01 18:48:10

标签: asp.net vb.net datetime-format

我有这个例子,它给了我异常“从字符串x到dateTime的转换无效”

这是验证日期时间的方法。

示例日期字符串:“27/03/1985”

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

任何想法将此日期字符串格式化为日期时间。

我想将此日期“27/03/1985”转换为日期时间。

我正在使用asp.net和vb.net。

3 个答案:

答案 0 :(得分:6)

答案 1 :(得分:1)

此实现将解析格式dd/MM/yyyy的日期,并根据需要将日期字符串更新为MM/dd/yyyyDateTime.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

答案 2 :(得分: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