If you know the format of the string you are converting (parsing) you should use DateTime.ParseExact
Dim dateString As String = "12.07.2003"
Dim dateFormat As String = "dd.MM.yyyy"
Dim dateValue As Date
dateValue = DateTime.ParseExact(dateString, dateFormat, Globalization.CultureInfo.InvariantCulture)
If you are not certain for the format of the string, you can use DateTime.TryParseExact
and test the result to see if parsed or not:
Dim dateString As String = "23-09-2013"
Dim dateFormat As String = "dd-MM-yyyy"
Dim dateValue As Date
If DateTime.TryParseExact(dateString, dateFormat, Globalization.CultureInfo.InvariantCulture, DateTimeStyles.None, dateValue) Then
'the parse worked and the dateValue variable now holds the datetime that was parsed as it is passing in ByRef
Else
'the parse failed
End If