How to Parse a Date Time with TimeZone Info

I have following string ,

Thu Sep 24 2015 00:00:00 GMT+0530 (IST)

I tried with following but it's faling.

   var twDate = DateTime.Parse("Thu Sep 24 2015 00:00:00 GMT+0530 (IST) ");

Can not use replace , as IST wont be fixed. Any Ideas?

Jon Skeet
people
quotationmark

You need to trim the time zone abbreviation off using normal string operations, then specify a custom date and time format string. For example:

// After trimming
string text = "Thu Sep 24 2015 00:00:00 GMT+0530";
var dto = DateTimeOffset.ParseExact(
    text,
    "ddd MMM d yyyy HH:mm:ss 'GMT'zzz",
    CultureInfo.InvariantCulture);
Console.WriteLine(dto);

Note the use of CultureInfo.InvariantCulture here - you almost certainly don't want to parse using the current thread's current culture.

people

See more on this question at Stackoverflow