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

5

我有一个例子,它给了我一个异常:"将字符串 x 转换为 DateTime 是无效的"

这是我的验证 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。


为什么不使用DateTime.TryParse:http://msdn.microsoft.com/zh-cn/library/9h21f14e.aspx - Madhur Ahuja
我想将以天为开头的日期“27/03/1985”转换为日期时间。 - Amr Elnashar
3个回答

7

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接