parsed date format hard to convert

.net, datetime-parsing, regex, vb.net

Solution

var format = "ddd MMMM dd H:mm:ss zzz yyyy";
var culture = System.Globalization.CultureInfo.InvariantCulture;
DateTime date = DateTime.ParseExact(dateString.Trim(), format, culture);

Will parse the date format you provided. Note that that the above format string assumes the date format you're parsing uses two digits for days that are less than 10, ie. `April 01`.

date.ToString("yyyy-MM-dd hh:mm:ss tt");

Will produce the desired output date format.

For reference you should look at the MSDN documentation for DateTime.ParseExact() and Custom Date and Time Format Strings.

Problem

I parse a date that is in string format and would like to convert it to a datetime format but cannot figure out how to do this. The date appears as such; ``` Wed April 18 08:00:04 +08:00 2012 ``` and would like it in a simple form of ``` 2012-04-18 08:00:00 ``` Code: ``` Dim postDate As DateTime Dim provider As CultureInfo = CultureInfo.InvariantCulture contentDate = Regex.Replace(contentDate, "\+", "") Dim format As String = "ddd MMMM dd HH:mm:ss zzz yyyy" postDate = DateTime.ParseExact(contentDate, format, provider) contentDate = postDate.ToString("yyyy-MM-dd hh:mm:ss tt") ``` any ideas appreciated

Original source