转换日期字符串日期时间格式vb.net

问题描述:

我有这样的例子,这让我异常“从字符串转换x到日期时间是无效的”转换日期字符串日期时间格式vb.net

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

例日期字符串: “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”转换为datetime。

我使用asp.net与vb.net。

+0

你为什么不使用DateTime.TryParse:http://msdn.microsoft.com/en-us/library/9h21f14e.aspx – 2010-12-01 18:52:52

你可以尝试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 

此实现将解析格式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