2010-12-01 8 views
4

J'ai cet exemple et il me donne exception « Conversion de chaîne x à dateTime est invalide »Conversion chaîne de date au format DateTime vb.net

ici est ma méthode pour valider Datetime.

Exemple chaîne Date: "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 

toute idée de valider cette formate de chaîne de date à datetime.

Je souhaite convertir cette date "27/03/1985" en date-heure. J'utilise asp.net avec vb.net.

+0

Pourquoi ne pas utiliser DateTime.TryParse: http://msdn.microsoft.com/en-us/library/9h21f14e.aspx –

+0

I wannt pour convertir date comme "27/03/1985" commence avec des jours à datetime. –

Répondre

0

Vous pouvez essayer la méthode 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

Cette implémentation analysera les dates du format dd/MM/yyyy et mettre à jour la chaîne de date à l'MM/dd/yyyy que vous avez besoin. DateTime.TryParseExact vous permet de spécifier le format de la date à analyser.

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