Also lese ich diesen sehr interessanten Blog über die Arbeit mit datetime in Azure DocumentDb. Das Problem dabei ist, dass Azure DocumentDb momentan keine Bereichssuche in Datetime-Feldern unterstützt. Der Grund dafür ist, dass DocumentDb auf json basiert und keinen Datetime-Typ hat. Daher wird es normalerweise in eine Zeichenfolge vom XML-Datetime-Format eingefügt.DateTime, die Epoche und DocumentDb
(offensichtlich Mongo diese Frage nicht hat, es ist BSON Format des Datetime-Typ (unter anderem) fügt)
Wie dem auch sei, beschreibt der Artikel die Datetime in json in einer Epoche (Unix) Zeit Speicherung Speicherung im Wesentlichen die datetime als Anzahl der Sekunden seit dem 01.01.1970. Ein Problem der Epoche ist, dass es keine Schaltsekunden berücksichtigt, aber damit kann ich jetzt leben.
Meine Frage ist, dass ich auch Geburtsdaten in einem solchen Format speichern möchte. Jetzt könnte ich 01.01.1900 als Startdatum nehmen und die Anzahl der Tage seit diesem Datum in einem Int speichern. Ich bin mir ziemlich sicher, dass das gut funktionieren würde, aber es fühlt sich an, als sei die Epoche ein gut etabliertes Konzept, aber das für Geburtstage fühlt sich an, als würde ich meine eigenen Konventionen aufbauen, was ich im Allgemeinen gerne vermeide.
Gibt es einen Standard für die Standardisierung der Datumsspeicherung als Nummer? Welches Datum sollte das Basisdatum sein?
Ich habe alle Antworten aufhebend, weil sie alle interessant waren, aber dieser beantwortete meine Frage am spezifischsten. Danke. –
Ich speichere das Datum wie in diesem Format "2017-01-13T08: 00: 00 + 05: 30" wobei das Z fehlt, da ich den Offset im +/- Format behalte. Wenn ich versuche, es von DocumentDb zurückzufragen, wird es in Zeitzone konvertiert, wo der Code läuft, was der Grund sein könnte –
Meine Empfehlung ist, es ohne den Offset oder mit einem Offset von +00 zu speichern. Dann wandeln Sie es beim Rendern in die richtige Zeitzone um. –