Solved

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

Posted on 2009-05-16
3
461 Views
Last Modified: 2012-05-07
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
Comment
Question by:Valleriani
  • 2
3 Comments
 
LVL 7

Author Comment

by:Valleriani
ID: 24403480
Ok I found the problem, for example:

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

How can I solve this?
0
 
LVL 7

Author Comment

by:Valleriani
ID: 24403490
And please keep in mind sometimes dates can be November, 19 2008 for example.. Or have time in them too..
0
 
LVL 4

Accepted Solution

by:
TMarkham1 earned 500 total points
ID: 24403892
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

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
JSON Deserialize issue 6 26
VB.Net Determine if a mapped network drive exists 2 31
SSIS Start 2 21
Data organization issue 7 16
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question