check & convert from a string to date vb.net

.net, date-format, vb.net

Solution

Use `DateTime.TryParseExact`, which allows you to specify the format - it will attempt to parse it, putting the parsed value into an output parameter on success, and return success/failure:

Dim dt As DateTime
If (DateTime.TryParseExact(ROHSDate, "mm/dd/yyyy", \
                           CultureInfo.InvariantCulture, \
                           DateTimeStyles.None, \
                           Out dt))
    UseDateTime(dt)
End If

Obviously, add `Else` clauses etc if you need them.

(I believe in modern VB the line continuations may be unnecessary, but hey... hopefully you get the point.)

Note that I've explicitly used `CultureInfo.InvariantCulture` so that if the code is running on a machine which uses different date separators or a different calendar, it won't make any difference.

Problem

I am a beginner in VB.NET & I am stuck at a very simple thing, Date formats. I am working on an application which uploads data from excel sheets into sql server database. The application will accept dates only if they are in mm/dd/yyyy format. It should reject all dates otherwise. Now i am struggling to check its format. Here is my code. ``` Dim ROHSDate As String ROHSDate = Trim(filterString(holdingTank)) ... here i need to check if it is in mm/dd/yyyy format ``` Please help.

Original source