Reputation: 11
I have one field which is in text format and is used for keeping release date .I have to check whether the date in field is in dd/mm/yyyy
format or not.
Please suggest how to do that if the field is in string format.
Upvotes: 0
Views: 174
Reputation: 54532
I would use DateTime.TryParseExact
, it will not throw an exeption but will return a bool that represents a valid conversion.
From above link:
Converts the specified string representation of a date and time to its DateTime equivalent using the specified format, culture-specific format information, and style. The format of the string representation must match the specified format exactly. The method returns a value that indicates whether the conversion succeeded.
Example:
Dim yourdate As String = "31/12/1999"
Dim mynewDate As DateTime
Dim culture As New CultureInfo("") 'Uses invariant culture
If Not Date.TryParseExact(yourdate, "dd/MM/yyyy", culture, DateTimeStyles.None, mynewDate) Then
MsgBox("Oops")
Else
MsgBox(mynewDate.ToString())
End If
Upvotes: 1
Reputation: 636
trycatch the call since it will throw an exception if it not in the specified format.
format = "d"
dateString = "Sun 15 Jun 2008 8:30 AM -06"
Try
result = Date.ParseExact(dateString, format, provider)
Console.WriteLine("{0} converts to {1}.", dateString, result.ToString())
Catch e As FormatException
Console.WriteLine("{0} is not in the correct format.", dateString)
End Try
Upvotes: 0