obtenir DateTimeOffset de DateTime (utc) et TimeZoneInfo

J'ai besoin de convertir DateTime+TimeZoneInfo en DateTimeOffset.

Comment dois-je faire? Je suppose que je dois passer de Temps mais alors je ne sais pas si l'heure d'été à temps seront traitées correctement..

Merci!

Mise à JOUR

TimeZoneInfo timeZone = TimeZoneInfo.FindSystemTimeZoneById("Mountain Standard Time");
return new DateTimeOffset(DateTime.UtcNow, timeZone.BaseUtcOffset);

Ce code génère une exception..

Le Décalage UTC Utc DateTime
cas, il doit être 0.\r\nParameter
nom: offset

Mise à JOUR 2

Désolé, je ne savais pas que DateTimeOffset ne contient que de l'offset, il ne contient pas de réelles informations de zone - je suis donc d'accepter la réponse de @Dave que c'est ce que je vais être à l'aide de ...

Question connexe: stackoverflow.com/q/2532729/1583
Utilisation DateTime.Now, pas DateTime.UtcNow.
C'est juste l'illustration du problème. Ma source de données a toutes les dates marquées en heure Utc. J'ai besoin de les convertir en différents fuseaux horaires
N'utilisez pas de TimeZoneInfo - il suffit de créer un nouveau TimeSpan avec tous les champs mis à 0.
O ne comprends pas comment je peux le faire. Mon but est d'obtenir DateTimeOffset avec le BON fuseau horaire à l'intérieur de lui. Ma compréhension est que DateTimeOffset contient UTC + Fuseau horaire et c'est exactement comment je le veux. Ces données seront utilisées par la suite pour les temps d'affichage sur l'INTERFACE utilisateur

OriginalL'auteur katit | 2011-06-08