sudoku
sudoku

Reputation: 11

Validate the date is in correct format

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

Answers (2)

Mark Hall
Mark Hall

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

DeveloperGuo
DeveloperGuo

Reputation: 636

DateTime.ParseExact

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

Related Questions