Benutzer mit den meisten Antworten
Übernahme der geänderten Zeitzone ohne neustart

Frage
-
Sehr geehrtes Microsoft Team,
besteht einen Möglichkeit eine Änderung der Windows Zeitzone in einem C# Programm direkt festzustellen ohne das das Programm neu gestartet werden muß?
Ablauf:
1. C#: Programm starten
2. Windows: Unter Datum- Uhrzeiteinstellungen die Zeitzone ändern.
3. Die Windows Uhr zeigt die richtige Uhrzeit an
4. Im C# Programm ist noch die alte Zeitzone vorhanden5. Die geänderte Zeitzone wird erst im C# Programm übernommen inden man es neu startet.
Mit folgenden Konvertierungen ist es mir nicht gelungen die richtig LocalTime zu ermitteln.
TimeZone zone = TimeZone.CurrentTimeZone;
DateTime local = zone.ToLocalTime(DateTime.Now);
DateTime universal = zone.ToUniversalTime(DateTime.Now);
var TimeFromTzi = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.Local);
Vielen Dank
Antworten
-
Hallo,
Intern werden die Zeitzonen wie TimeZoneInfo.Local gecacht, womit eine Änderung nur erkannt wird, wenn man ClearCachedData aufruft.
Es widerspricht dem Sinn der Zeitzone, sie global zu ändern, denn die gilt für alle aktiven Programme. Um lokale Zeiten für unterschiedliche Zeitzonen zu berechnen, rufe die entsprechende Instanz der TimeZoneInfo ab oder erzeuge eine nach Bedarf, siehe dazu Konvertieren von Uhrzeiten zwischen Zeitzonen
Gruß Elmar
- Als Antwort vorgeschlagen Holger M. Rößler Dienstag, 21. April 2015 10:59
- Als Antwort markiert Anton Mangold Dienstag, 21. April 2015 13:11
Alle Antworten
-
Hallo,
Intern werden die Zeitzonen wie TimeZoneInfo.Local gecacht, womit eine Änderung nur erkannt wird, wenn man ClearCachedData aufruft.
Es widerspricht dem Sinn der Zeitzone, sie global zu ändern, denn die gilt für alle aktiven Programme. Um lokale Zeiten für unterschiedliche Zeitzonen zu berechnen, rufe die entsprechende Instanz der TimeZoneInfo ab oder erzeuge eine nach Bedarf, siehe dazu Konvertieren von Uhrzeiten zwischen Zeitzonen
Gruß Elmar
- Als Antwort vorgeschlagen Holger M. Rößler Dienstag, 21. April 2015 10:59
- Als Antwort markiert Anton Mangold Dienstag, 21. April 2015 13:11
-
Hallo Andi,
Vielen Dank für Deine Frage und Beitrag! Ich möchte Dich auf das Markieren als Antwort aufmerksam machen:
Forenbeiträge bewertenàNutze die Bewertungsfunktionen („Als Antwort markieren“und „Als hilfreich bewerten“) in den MSDN Foren! Unter anderem können andere später eine Lösung schneller finden. Es ist also wünschenswert, dass die Fragenden (Benutzer) die Beiträge anderer Beantworter bewerten.
Hier dazu die wichtigsten Anhaltspunkte aus den Forenregeln und FAQs.
Lösungsbeiträge als „Die Antwort“markieren
Bitte markieren Sie den Beitrag, der zur Lösung geführt hat, als „Die Antwort“. Durch Bewerten eines Beitrags als „Die Antwort“ können andere Teilnehmer die Lösung schneller finden. Außerdem können Sie dem Benutzer, der die Antwort eingereicht hat, für seinen Beitrag danken und zur Steigerung der Antwortqualität in der Diskussionsgruppe beitragen.
[Quelle: Forenregeln]
Gruß,
Dimitar
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Bearbeitet Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 21. April 2015 13:00