Это, или подобное, должно сработать:
var dateString = "Tue, 11 Aug 2009 13:15:10 GMT";
var date = Convert.ToDateTime(dateString);
var result = TimeZoneInfo.ConvertTime(date, TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"));
Стоит отметить, что изначально указанное вами Пн, 11 августа 2009 , действительно неверно, поэтому я изменилсядо вт, 11 августа 2009 , поэтому код будет работать, так как Convert.ToDateTime
выдает исключение, если день не совпадает с датой.
Я также предположил, что вы имеете в виду Eastern Standard Time
, то есть идентификатор, связанный с "Eastern Time (US & Canada)", но вы можете получить полный список доступных часовых поясов, выполнив следующую командукод:
foreach(TimeZoneInfo info in TimeZoneInfo.GetSystemTimeZones())
{
Console.WriteLine("Id: {0}", info.Id);
Console.WriteLine(" DisplayName: {0}", info.DisplayName);
}