Wie kann ich feststellen, ob für ein bestimmtes Datum in .NET 2.0 die Sommerzeit für eine bestimmte Zeitzone gilt?

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

Frage

Ich verwende .NET 2.0 und laufe unter Medium Trust (also TimeZoneInfo und die Registry sind keine erlaubten Optionen).Ich frage den Benutzer nach zwei Daten und einer Zeitzone und würde wirklich gerne automatisch bestimmen können, ob ich die Zeitzone für die Sommerzeit anpassen muss.

Dies ist wahrscheinlich nicht einmal ein gültiges Szenario, es sei denn, ich habe welche sehr Robuste Unterstützung, a la TimeZoneInfo, um überhaupt zwischen den verschiedenen Zeitzonen zu unterscheiden.

War es hilfreich?

Lösung

In .NET 2.0 müssen Sie dies selbst codieren.Dabei geht es darum, die Sommerzeitgesetze in verschiedenen Regionen zu recherchieren und diese in Ihre eigenen Datenstrukturen zu integrieren.Das Problem wird etwas vereinfacht, wenn Sie sich nur um eine Teilmenge der Zeitzonen kümmern, zum Beispiel nur in den USA, aber wenn Sie alle globalen Zeitzonen benötigen, haben Sie viel Arbeit zu erledigen und dann muss der Code alle aktualisiert werden ein paar Jahre, in denen sich die Gesetze ändern.Selbst die neuen Zeitzonenobjekte in der neuesten Version von .NET erfordern Windows-Updates, damit sie bei Gesetzesänderungen korrekt bleiben.

Suchen Hier, Hier, Und Hier Für mehr Information.

Andere Tipps

Der TZ-Datenbank ist eine öffentlich zugängliche Datenbank mit Zeitzonenregeln, die sehr gut gepflegt wird.Es gibt auch ein kompiliertes Format für die von ihnen bereitgestellten Daten und es stehen zahlreiche Bibliotheken zum Lesen der kompilierten Daten zur Verfügung, wie zum Beispiel diese: ZoneInfo (TZ-Datenbank / Olson-Datenbank) .NET API

Ausgezeichnete Zeitzonenbibliothek hier: TZ4Net

Naja, seitdem TimeZoneInfo ausgeschlossen ist, werden Sie wahrscheinlich keine Lösung im Framework selbst finden (aber zitieren Sie mich dazu nicht).

Haben Sie in diesem Fall darüber nachgedacht, das zu reflektieren? TimeZoneInfo Klasse und verwenden Sie, was Sie dort finden?

@Domenic, Ich habe darüber nachgedacht, aber ich würde es vorziehen, legal zu bleiben, und ich bin mir ziemlich sicher, dass die Informationen sowieso in das Framework eingebettet oder auf eine hinterhältige Weise, die keine Berechtigungen erfordert, aus der Registrierung entnommen werden müssten. .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top