
In der Welt des serverbasierten Reportings gibt es häufig Herausforderungen im Zusammenhang mit unterschiedlichen Zeitzonen. Die Komplexität steigt insbesondere dann, wenn sich der Datenbankserver, der Reporting-Server und der Client in unterschiedlichen Zeitzonen befinden. Dies kann zu verschiedenen Problemen führen:
- Die Funktion Now() bezieht sich üblicherweise auf die Serverzeit und nicht auf die Zeitzone des Clients.
- Wenn in der Datenbank keine UTC-Zeiten gespeichert sind, kann die Interpretation der Zeitangaben unklar sein.
- Zeitstempel aus der Datenbank werden oft in die Serverzeit umgerechnet, was dazu führt, dass der Client falsche Informationen erhält.
Um diese Probleme anzugehen, haben wir eine innovative Lösung in List & Label eingeführt: die neue Eigenschaft „TimeZoneInformation“ der .NET-Komponente. Diese Funktion erlaubt es Entwickler:innen, jeweils eine eigene TimeZoneInfo-Instanz für Client und Datenbank anzugeben. Mit dieser wichtigen Neuerung kann List & Label die Zeitstempel aus der Datenbank korrekt in die Serverzeit übersetzen und vor der Weitergabe an den Client entsprechend der Zeitzone des Clients anpassen.
Implementierung der TimeZoneInformation
Ein einfaches Beispiel zur Implementierung zeigt, wie man die Systemzeitzonen in eine ComboBox lädt und dann die ausgewählte Zeitzone für den Client festlegt:
// Systemzeit-Zeitzonen in eine ComboBox laden ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones(); foreach (TimeZoneInfo timeZone in timeZones) { comboSystemTimeZones.Items.Add(timeZone); } comboSystemTimeZones.SelectedIndex = comboSystemTimeZones.FindStringExact(TimeZoneInfo.Local.ToString()); // Client-Zeitzone in List & Label setzen LL.TimeZoneInformation.Client = comboSystemTimeZones.SelectedItem as TimeZoneInfo;
Diese neue Funktion ist besonders wichtig für internationale Anwendungen oder in Cloud-basierten Ökosystemen, in denen die korrekte Zeitzone für die Genauigkeit der Daten entscheidend ist. Mit TimeZoneInformation stellt List & Label sicher, dass alle Anwender:innen unabhängig von ihrer geografischen Lage präzise und relevante Daten in Echtzeit erhalten.