# Date
# Converting (Parsing) a String to a Date
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
# Converting a Date To A String
Simply use the .ToString
overload of a DateTime
object to get the format you require:
Dim dateValue As DateTime = New DateTime(2001, 03, 06)
Dim dateString As String = dateValue.ToString("yyyy-MM-dd") '2001-03-06