Comment puis-je déterminer si une date est à l'Heure d'été pour un fuseau horaire dans .NET 2.0?

StackOverflow https://stackoverflow.com/questions/44795

Question

Je suis sur .NET 2.0, qui s'exécute sous un niveau de Confiance Moyen (donc TimeZoneInfo et le Registre ne sont pas les options autorisées).Je demande de l'utilisateur pour les deux dates et un fuseau horaire, et aimerais vraiment être en mesure de déterminer automatiquement si j'ai besoin d'ajuster le fuseau horaire de l'heure d'été.

Ce n'est probablement même pas valide d'un scénario, à moins que j'ai quelques très robuste prise en charge, à la TimeZoneInfo, afin de différencier les différentes variétés de fuseaux Horaires dans la première place.

Était-ce utile?

La solution

Dans .NET 2.0 vous avez le code vous-même.Elle implique la recherche de l'heure avancée lois dans les différentes régions et la construction que dans vos propres structures de données.Le problème est quelque peu simplifiée, si vous ne se soucient que d'un sous-ensemble des zones, par exemple seulement aux etats-unis, mais si vous avez besoin d'globale de tous les fuseaux horaires, vous avez beaucoup de travail à faire, et puis le code doit être mis à jour toutes les quelques années, lorsque la modification de la législation.Même le nouveau fuseau horaire objets dans la dernière version de .NET nécessitera des mises à jour de windows pour les garder correct que les lois changent.

Look ici, ici, et ici pour plus d'info.

Autres conseils

L' TZ Base de données est un domaine public de la base de données de fuseau horaire règles qui est très bien entretenu.Il existe également un format compilé pour les données qu'ils fournissent, et il y a beaucoup de bibliothèques pour lire les données compilées, comme celui-ci: ZoneInfo (tz base de données / Olson base de données) .NET API

Excellent le fuseau horaire de la bibliothèque ici: TZ4Net

Eh bien, depuis TimeZoneInfo est exclu, vous n'allez probablement pas à trouver une solution dans le cadre lui-même (mais ne me citez pas moi).

Dans ce cas, avez-vous envisagé de reflectoring l' TimeZoneInfo classe et utilisation ce que vous y trouvez?

@Dominique, J'ai vu, mais je préfère rester légal, et je suis assez sûr que l'information devrait être intégrée dans le cadre de toute façon, ou saisi à partir du registre dans certains sournois manière qui ne nécessite pas d'autorisations...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top