2010-08-21 5 views

Répondre

4

Ce ou similaire devrait faire l'affaire:

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")); 

Il convient de mentionner, que votre spécifié à l'origine Mon, 11 août 2009, est en fait incorrecte, par conséquent je l'ai changé à mar, 11 août 2009 de sorte que le code sera exécuté, comme le Convert.ToDateTime jette un ex si le jour ne correspond pas à la date.

J'ai aussi supposé que vous dire Eastern Standard Time, qui est l'identifiant associé à « heure de l'Est (Etats-Unis & Canada) », mais vous pouvez obtenir une liste complète des fuseaux horaires disponibles en exécutant le code suivant:

foreach(TimeZoneInfo info in TimeZoneInfo.GetSystemTimeZones()) 
{ 
    Console.WriteLine("Id: {0}", info.Id); 
    Console.WriteLine(" DisplayName: {0}", info.DisplayName); 
} 
1
var datetime = DateTime.Parse("Sat, 21 Aug 2010 13:15:10 GMT"); 
TimeZoneInfo estZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); 
DateTime estTime = TimeZoneInfo.ConvertTime(datetime, estZone); 

EST peut signifier différentes fois, ce qui vous voulez: http://en.wikipedia.org/wiki/EST

Questions connexes