Benutzer mit den meisten Antworten
Datum/Uhrzeit zwischen Server und Client

Frage
-
Hallo,
ich benutze einen MSSQL Express, welcher im Internet (Dänemark) steht und dort auch alle Daten gespeichert werden. Das Datum wird über eine Webanwendung immer als DateTime Format an den MSSQL Express übertragen und im Format datetime gespeichert.
Ich möchte nun über meine lokale Anwendung über das Formular und WebServices auf die gespeicherten Daten zugreifen und möchte Datum und Zeit getrennt haben.
Nun zu meiner eigentlichen Frage. Ich mache mir gerade Gedanken dazu, ob es so einfach geht oder ob es zu Datum - Zeit fehlern kommen kann, da das Datum und Uhrzeit in Dänemark und USA gesepichert wurden, ich aber in Deutschland die Daten benötige. Könnt Ihr mir dazu ein paar Ratschläge geben, wie ich es am besten machen kann. Auf die gespeicherten Daten habe ich keinen Einfluß, muss also nehmen was ich bekomme.
Gruß
Claudia
Antworten
-
und im Format datetime gespeichert.
Hallo Claudia,
wenn die Datumswerte mit Datentyp datetime und nicht etwa als varchar gespeichert werden, gibt es grundsätzlich erst mal keine Probleme. Du solltest immer zwischen der Repräsentation eines Datumswertes im Client gemäß den Regionaleinstellungen und dem internen Format eines Datums unterscheiden; intern sieht es immer gleich aus.
Was höchstens ein Problem mit sich bringen könnte, sind die Zeitzonenunterschiede zu den USA, wenn jeder immer seine lokale Zeit speichert ohne die Info auf den UTC Offset, könnte es etwas durcheinander geben.
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 19. Juli 2012 09:52
-
Hallo Claudia,
Windows unterstützt in allen Versionen die Synchronisation mit einem Zeitserver.
Zudem können angeschlossene Clients sich damit synchronisieren, siehe Konfigurieren eines autorisierenden Zeitservers in Windows ServerIst das eingerichtet, verwendet der SQL Server die Zeit des Rechners und es sollte dort keine Abweichungen geben.
Was nun Dänemark und die USA angeht, so werden dort unterschiedliche Zeitzonen verwendet (die USA haben gleich mehrere).
Deswegen sollte man die Zeit als UTC Zeit speichern und erst für die Anzeige in die lokale Zeit umrechnen. Das unterstützt der SQL Server mit Funktionen wie GETUTCDATE
Eine getrennte Speicherung von Datum und Zeit geht mit aktuellen SQL Servern via Date und Time.
Ist die Zeitzone für die Speicherung wichtig, so könntest Du den Datentyp datetimeoffset verwenden, weiteres siehe Datums- und UhrzeittypenGruß Elmar
- Bearbeitet Robert BreitenhoferModerator Donnerstag, 19. Juli 2012 09:53 Formatierung
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 19. Juli 2012 09:53
Alle Antworten
-
und im Format datetime gespeichert.
Hallo Claudia,
wenn die Datumswerte mit Datentyp datetime und nicht etwa als varchar gespeichert werden, gibt es grundsätzlich erst mal keine Probleme. Du solltest immer zwischen der Repräsentation eines Datumswertes im Client gemäß den Regionaleinstellungen und dem internen Format eines Datums unterscheiden; intern sieht es immer gleich aus.
Was höchstens ein Problem mit sich bringen könnte, sind die Zeitzonenunterschiede zu den USA, wenn jeder immer seine lokale Zeit speichert ohne die Info auf den UTC Offset, könnte es etwas durcheinander geben.
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 19. Juli 2012 09:52
-
Hallo Claudia,
Windows unterstützt in allen Versionen die Synchronisation mit einem Zeitserver.
Zudem können angeschlossene Clients sich damit synchronisieren, siehe Konfigurieren eines autorisierenden Zeitservers in Windows ServerIst das eingerichtet, verwendet der SQL Server die Zeit des Rechners und es sollte dort keine Abweichungen geben.
Was nun Dänemark und die USA angeht, so werden dort unterschiedliche Zeitzonen verwendet (die USA haben gleich mehrere).
Deswegen sollte man die Zeit als UTC Zeit speichern und erst für die Anzeige in die lokale Zeit umrechnen. Das unterstützt der SQL Server mit Funktionen wie GETUTCDATE
Eine getrennte Speicherung von Datum und Zeit geht mit aktuellen SQL Servern via Date und Time.
Ist die Zeitzone für die Speicherung wichtig, so könntest Du den Datentyp datetimeoffset verwenden, weiteres siehe Datums- und UhrzeittypenGruß Elmar
- Bearbeitet Robert BreitenhoferModerator Donnerstag, 19. Juli 2012 09:53 Formatierung
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 19. Juli 2012 09:53
-
Hallo Claudia Salzwedel,
Ich gehe davon aus, dass die Antworten Dir weitergeholfen haben.
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.Grüße,
RobertRobert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.