Frage

Ich leite einen RESTful JSON-Daten-API, die in ihrem Umfang wachsen. Derzeit sind wir alle Daten über den Draht als Strings „YYYY-MM-DD“ Rückkehr, aber wir müssen auch das Konzept der Teildaten darzustellen.

Was ich von einem Teil Datum bedeuten ein Datumswert, die unbekannten Komponenten hat, entweder ein Jahr-Monat, oder einfach nur ein Jahr. In unserer Präsentationsschicht würde dies übersetzt wie:

2009-09-03 =>  '3rd September 2009'
2009-09    =>  'September 2009'
2009       =>  'Undated 2009'

Gibt es einen Präzedenzfall oder Standard für diese Art von Daten? Zum Beispiel ermöglicht MySQL dies durch 00 Werte in Datum und Datetime-Felder ermöglichen - zB: ‚2009-00-00‘ direkt zu einem MySQL-Datumsfeld speichern, aber dieser Wert nicht konsequent umsetzen, wenn sie von den meisten Programmiersprachen date Bibliotheken analysiert .

Was ist der beste Weg, um semantisch dieses Konzept der Teildaten in dem JSON-Feed darstellen?

Im Idealfall würden wir in der Lage sein, eine Lösung zu implementieren, die war einfach für unsere Kunden zu analysieren, sondern auch einfach in der Dokumentation zu erklären.

War es hilfreich?

Lösung

EDIT: über dieses Denken wieder, YYYY-MM und YYYY sind beide gültig ISO 8601 , so wäre es wahrscheinlich besser, nur diese verwenden.

Es gibt keinen Standard für JSON Daten (jeglicher Art), weil JSON eine Teilmenge von JavaScript Literalsyntax ist, und JS hat keine Datumsliterale. Siehe http://msdn.microsoft.com/en-us/library /bb299886.aspx#intro_to_json_sidebarb .

Andere Tipps

Sie können Ihre Lösung @ www.datejs.com

finden

Danke.

In Bezug auf die Lagerung, können Sie die Mehrdeutigkeit speichern durch Speichern Jahr, Monat und Tag in separaten Spalten und ermöglicht nulls. Auf diese Weise können sie mit String-Verkettung und der coalesce (Tag, '00' ) abfragen können funktioniert ein greifen out ‚00‘, wenn eine Spalte leer ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top