JoshL
JoshL

Reputation: 10988

Convert a string to a date in .net

I'm reading text from a flat file in c# and need to test whether certain values are dates. They could be in either YYYYMMDD format or MM/DD/YY format. What is the simplest way to do this in .Net?

Upvotes: 9

Views: 9671

Answers (6)

Paul van Brenk
Paul van Brenk

Reputation: 7549

string[] formats = {"yyyyMMdd", "MM/dd/yy"};
var Result = DateTime.ParseExact(input, formats, CultureInfo.CurrentCulture, DateTimeStyles.None);

or

DateTime result;
string[] formats = {"yyyyMMdd", "MM/dd/yy"};
DateTime.TryParseExact(input, formats, CultureInfo.CurrentCulture, DateTimeStyles.None, out result);

More info in the MSDN documentation on ParseExact and TryParseExact.

Upvotes: 30

Steven A. Lowe
Steven A. Lowe

Reputation: 61223

DateTime.TryParse method

Upvotes: 4

Skippy
Skippy

Reputation: 145

You can use the TryParse method to check validity and parse at same time.

DateTime output;
string input = "09/23/2008";
if (DateTime.TryParseExact(input,"MM/dd/yy", DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None, out output) || DateTime.TryParseExact(input,"yyyyMMdd", DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None, out output))
{
    //handle valid date
}
else
{
    //handle invalid date
}

Upvotes: 0

stefano m
stefano m

Reputation: 4224

you could try also TryParseExact for set exact format. method, here's documentation: http://msdn.microsoft.com/en-us/library/ms131044.aspx

e.g.

DateTime outDt;
bool blnYYYMMDD = 
     DateTime.TryParseExact(yourString,"yyyyMMdd"
                            ,CultureInfo.CurrentCulture,DateTimeStyles.None
                            , out outDt);

I hope i help you.

Upvotes: 4

Josh Stodola
Josh Stodola

Reputation: 82483

Using TryParse will not throw an exception if it fails. Also, TryParse will return True/False, indicating the success of the conversion.

Regards...

Upvotes: 0

Sara Chipps
Sara Chipps

Reputation: 9372

You can also do Convert.ToDateTime

not sure the advantages of either

Upvotes: 0

Related Questions