Ich möchte nur eine Bestätigung von den Experten. Ich bin immer noch nicht sicher in dem, was ich glaube, um die richtige Art der Lagerung und Behandlung von Daten in einer solchen Umgebung zu sein.Speichern von Datum und Zeitzonen in MongoDB
Ich entwickle eine kleine App, nur für italienische Benutzer.
Grundsätzlich sie eine Liste von Einträgen erstellen kann, die jeweils ein creation (Ich bin nur daran interessiert, den Datumsteil, ist die Zeit in meinem Szenario nicht sinnvoll).
So gibt der Benutzer in dem „Datum“ Formularfeld ein Datum in diesem Format: stellt 22/06/2014 den 22. Tag des Monats Juni des Jahres 2014. Dann Datum wie das analysiert wird:
entryData.dateEntry = moment($(form).find('input[name=dateEntry]').val(), 'DD-MM-YYYY').toDate();
Schließlich wird mein Einstiegsmodell zu einer backbone.js Sammlung hinzugefügt und serverseitig von Node.js + Express in MongoDB gespeichert.
Abfragen Mongo für Einträge, ich sehe:
2014-06-21 22:00:00 +0000
, die auf "dateEntry" entspricht: Datum (1403388000000).
Googeln herum, entdeckte ich, dass MongoDB nicht das Konzept der Zeitzone hat. Alle Daten werden in UTC gespeichert und das Datumsobjekt, das ich zuvor erstellt habe, hatte GMT + 2. Aber ich habe wirklich Angst ... Wie bekomme ich das Datum meiner lokalen Zeitzone auf die leichte Art zurück?
Als nächstes werde ich Eingabedaten in einer Unter Vorlage angezeigt werden, auf diese Weise:
<%= moment(dateEntry).format('DD/MM/YYYY') %>
Und ... voilà! Ich bekomme mein lokales "italienisches" Datum zurück: 22/06/2014.
Nun, meine Frage: ist das der richtige Weg zu gehen?
Der Prozess ist: parse Daten in lokaler Zeitzone => in Utc speichern => Daten in lokaler Zeitzone abrufen. Ist es eine übliche Praxis?
Ich dachte auch: kann ich nicht einfach vermeiden Zeitzonen zu verwenden und meine lokale (italienische) Zeit zu speichern, wie es war (2014-06-22 00:00:00)? Ist das so schlimm?
ich alles eingerichtet UTC vorne sein zu sichern (Datenbank, Server, Client-Kommunikation, ...) mit an den äußersten Rand der Anwendung behandelten Zeitzonen mit. Ich arbeite normalerweise in Rails, also weiß ich nicht, wie die Dinge normalerweise in der node.js-Welt erledigt werden. –