DateTime lui-même ne contient aucune information réelle sur le fuseau horaire. Il s'agit de mai savent si c'est UTC ou local, mais pas ce que local signifie vraiment.
DateTimeOffset est un peu mieux - il s'agit essentiellement d'une heure UTC et d'un décalage. Cependant, ce n'est toujours pas suffisant pour déterminer le fuseau horaire, car de nombreux fuseaux horaires différents peuvent avoir le même décalage à un moment donné. Il semble que cela soit suffisant pour vous, car tout ce que vous avez à faire lors de l'analyse de la date et de l'heure est le décalage.
La prise en charge des fuseaux horaires depuis .NET 3.5 est bien meilleure qu'avant, mais j'aimerais vraiment voir un "ZonedDateTime" standard ou quelque chose comme ça - une heure UTC et un fuseau horaire réel. Il est facile de créer sa propre application, mais ce serait bien de la voir dans les bibliothèques standard.
EDIT : Près de quatre ans plus tard, je suggérerais maintenant d'utiliser Heure de Noda qui dispose d'un ensemble plus riche de types de date/heure. Je suis cependant partial, étant l'auteur principal de Noda Time :)
1 votes
Voir les notes sur Documentation sur DateTime.Parse pour la gestion des fuseaux horaires et des DateTimeStyles. Mais non, ce que vous voulez n'est pas vraiment possible.