• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 486
  • Last Modified:

IsDate doesn't work properly in VB.net 2008 -- What else can I use?

Okay, So I have a CSV, basicly it has different functions. I just converted from VB6 to .net 2008, However.. There are some difficulties with the IsDate function now.

Isdate in VB6 would come back true if:

05/05/2008
05/05/2008 05:05:02
05/05/2008 12:00:00PM

And I think some basic ones like May 05, 2008, or something like that.

Anyways. The string its searching can have different formats, thus I need to CHECK to make sure it is a date, this was great in VB6, however, .NET returns a string like 05/05/2008 05:05:02 to FALSE. I am not sure why either.

Basicly the function coding was basic for it:

                        If validfound = -1 Then
                            For i = 0 To UBound(marray)
                                If IsDate(marray(i)) Then
                                    validfound = i
                                    Exit For
                                End If
                            Next
                        End If

And it was fine, but now I am having issues. any suggesetions so that it works for all dates and if theres a time included for that too?

It can however use short or long dates too, like 5/5/2008 or 05/05/2008 or 5/5/08, for example.. Stuff like that. Was okay previously.
0
Valleriani
Asked:
Valleriani
  • 2
1 Solution
 
VallerianiAuthor Commented:
Ok I found the problem, for example:

30/4/2008 will work
but 4/30/2008 will not.

How can I solve this?
0
 
VallerianiAuthor Commented:
And please keep in mind sometimes dates can be November, 19 2008 for example.. Or have time in them too..
0
 
TMarkham1Commented:
Look into the DateTime.TryParse method. It takes in a String and a reference to a DateTime object as parameters. If it can parse the string value successfully, it will place the correct date and time in the DateTime reference passed in. It returns a boolean value so yo know whether or not the string value is in fact a date. It is also overloaded so you can setup your own format on which to parse.
Dim strDate as String = '5/05/2009 09:31:24'
Dim DateVal as DateTime
 
If DateTime.TryParse(strDate, DateVal) Then
   'DateVal is set to 05/05/2009 09:31:24
End If

Open in new window

0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now