myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grundlagen von C# » Wie kann ich am besten Zeitzonen in einer Datenbank ablegen?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wie kann ich am besten Zeitzonen in einer Datenbank ablegen?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
LiMuBai LiMuBai ist männlich
myCSharp.de-Mitglied

Dabei seit: 19.07.2013
Beiträge: 8


LiMuBai ist offline

Wie kann ich am besten Zeitzonen in einer Datenbank ablegen?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

ich stehe derzeitig etwas auf dem Schlauch wie ich am besten Zeitzonen in der DB hinterlege.
Ich habe erstens auf dem Server einen Task welcher anhand von hinterlegten Uhrzeiten einen Schichtwechsel vornimmt. Dabei werden User von Maschinen abgemeldet und vorangemeldete Mitarbeiter angemeldet. Weiterhin muss ich auf der Website (Intranet) welche der User an der Maschine sieht die derzeitige Uhrzeit anzeigen.

Der Server steht hier in Deutschland und Mitarbeiter können aus Werken rund um den Globus über die Webseite darauf zurückgreifen.

Nun war mein erster Ansatz in der Verwaltung für die Maschinen die Zeitzonen über TimeZoneInfo.GetSystemTimeZones() als Dropdownliste auszugeben und der Admin wählt davon eine aus um diese in der DB zu hinterlegen. Als Wert wollte ich nun die ID verwenden (Bsp: W. Europe Standard Time oder West Asia Standard Time) da ich aufgrund von unterschiedlichen Winter- bzw. Sommerzeiten nicht einfach UTC+1 hinterlegen kann.

Nun könnte es aber meiner Meinung trotzdem 1 Problem geben.
Mit den kommenden Änderungen an Sommer- / Winterzeit kann es schon innerhalb von "W. Europe Standard Time" zu unterschiedlichen Uhrzeiten kommen.

Gibt es hierfür eine sinnvolle Lösung oder muss ich das vielleicht sogar ganz anders angehen?

grüße daniel
12.03.2019 07:55 Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.790
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zeiten in Datenbanken sollten prinzipiell immer Neutral abgespeichert werden; also UTC.
Das verhindert Missstände in der Datenbank.

Zeitzonen werden i.d.R. in der Ansicht oder Logik beachtet (dann zB. via ToLocalTime()).
12.03.2019 15:30 Beiträge des Benutzers | zu Buddylist hinzufügen
Taipi88 Taipi88 ist männlich
myCSharp.de-Mitglied

avatar-3220.jpg


Dabei seit: 02.02.2010
Beiträge: 944
Entwicklungsumgebung: VS 2010
Herkunft: Mainz


Taipi88 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi,

@Abt - ich glaube LiMuBai meinte etwas anderes - quasi eine Id für eine Zeitzone in der Datenbank hinterlegen.

Wurde auf StockOverflow schonmal erfragt:
 https://stackoverflow.com/questions/1158...mation-in-my-db

Kurzform: TimeZoneInfo.Id pro Maschine in der Datenbank hinterlegen. Die eigentlichen Zeiten in UTC speichern - und nur zur Anzeige mit Hilfe von  http://msdn.microsoft.com/en-us/library/...mezonebyid.aspx in die "Maschinen"-Zeit umrechnen.

LG
12.03.2019 15:37 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
LiMuBai LiMuBai ist männlich
myCSharp.de-Mitglied

Dabei seit: 19.07.2013
Beiträge: 8

Themenstarter Thema begonnen von LiMuBai

LiMuBai ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

danke euch erstmal für die Antworten.
Derzeitig lege ich auch die ID in der DB ab und berechne dann später die jeweilige Uhrzeit anhand der hinterlegten Zeitzone.

Ich habe nur etwas in die Zukunft gedacht und mir selber ein Problem geschaffen.
Wenn es wirklich soweit kommt das Deutschland zum Beispiel bei Winterzeit bleibt und Dänemark bleibt bei Sommerzeit, kann man das mit den derzeitigen Zeitzonensystem nicht mehr richtig abbilden.

Ich belasse es jetzt aber erstmal bei dem jetzigen System und lasse mich überraschen was die Zukunft bringt.
13.03.2019 12:04 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 4 Monate.
Der letzte Beitrag ist älter als 4 Monate.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 18.07.2019 05:26