2010-12-01 178 views
4

我有這樣的例子,這讓我異常「從字符串轉換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

回答

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 
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 
相關問題