J'essaie d'utiliser DateTimeOffset pour transmettre un moment précis dans le temps, quel que soit le fuseau horaire. Je n'arrive pas à trouver comment utiliser TimeZoneInfo pour gérer l'heure d'été.
var dt = DateTime.UtcNow;
Console.WriteLine(dt.ToLocalTime());
var tz = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
var utcOffset = new DateTimeOffset(dt, TimeSpan.Zero);
Console.WriteLine(utcOffset.ToOffset(tz.BaseUtcOffset));
Cela s'imprime :
6/2/2010 4:37:19 PM
6/2/2010 3:37:19 PM -06:00
Je suis dans le fuseau horaire central, et nous sommes actuellement en heure d'été. J'essaie de faire en sorte que la deuxième ligne soit lue :
6/2/2010 4:37:19 PM -05:00
BaseUtcOffset ne change apparemment pas en fonction de l'heure d'été.
Comment puis-je obtenir le bon moment avec la bonne valeur de décalage ?
Merci.