2009-11-20 8 views
0

Je souhaite définir le début d'une journée dans un autre fuseau horaire avec .NET/C#.C# Définir le début du jour d'une date dans un autre fuseau horaire

Exemple: Mon fuseau horaire actuel = GMT + 1 donc retourne DateTime.Today 19/11/2009 23:00 UTC

mais en fait je veux obtenir le DateTime.Today pour fuseau horaire GMT + 2 qui serait soit 19/11/2009 22:00 UTC.

Comment faire ceci sans jongler avec les décalages & calculs de daylightsaving?

Répondre

1

Essayez:

var zone = TimeZoneInfo.GetSystemTimeZones().First(tz => tz.StandardName == DesiredTimeZoneName); 
Debug.WriteLine(new DateTimeOffset(DateTime.UtcNow.Date.Ticks, zone.BaseUtcOffset).ToUniversalTime()); 

AFAIK, il n'y a pas d'autre façon de le faire.