datetime.parse and making it work with a specific format

C#asp.net.Net 2.0

C# Problem Overview


I have a datetime coming back from an XML file in the format:

> 20080916 11:02

as in

> yyyymm hh:ss

How can i get the datetime.parse function to pick up on this? Ie parse it without erroring? Cheers

C# Solutions


Solution 1 - C#

DateTime.ParseExact(input,"yyyyMMdd HH:mm",null);

assuming you meant to say that minutes followed the hours, not seconds - your example is a little confusing.

The ParseExact documentation details other overloads, in case you want to have the parse automatically convert to Universal Time or something like that.

As @Joel Coehoorn mentions, there's also the option of using TryParseExact, which will return a Boolean value indicating success or failure of the operation - I'm still on .Net 1.1, so I often forget this one.

If you need to parse other formats, you can check out the Standard DateTime Format Strings.

Solution 2 - C#

Thanks for the tip, i used this to get my date "20071122" parsed, I needed to add datetimestyles, I used none and it worked:

DateTime dt = DateTime.MinValue;

DateTime.TryParseExact("20071122", "yyyyMMdd", null,System.Globalization.DateTimeStyles.None, out dt);

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionanonym0useView Question on Stackoverflow
Solution 1 - C#Blair ConradView Answer on Stackoverflow
Solution 2 - C#bertView Answer on Stackoverflow