Warum zeigen Datumswerte ein abschließendes "Z" an, wenn Layer mit Geoserver und einem PostGIS-Datenspeicher veröffentlicht werden?

11

Ich habe verschiedene Ebenen mit Geoserver 2.2.x mit einem PostGIS 2.0.1-Datenspeicher (PostgreSQL 9.1.x) veröffentlicht. Felder, die nur Datumswerte und keine Zeit- / Zeitstempelwerte enthalten, werden als Datum gespeichert. Nach dem Veröffentlichen meiner Ebenen als wfs / wms und dem Öffnen der Tabelle im Browser werden Datumswerte mit einem nachgestellten 'Z' angezeigt.

Ist dies ein Produkt der Geotools-Datenspeicher-API, die Geoserver verwendet?

Ich denke, die API des Geotools-Datenspeichers wirft eine Decke über das Datum des Datenlesens als Datum / Uhrzeit, Zeitstempel usw. und das 'z' wird für die Zulu-Zeit angezeigt. Ich könnte völlig von meiner Geotool-Annahme abweichen, aber in PostgreSQL steht 'z' für zulu oder utc.

Wenn die Datenquellenwerte als Datum gespeichert sind und keine Zeitkomponente haben, warum wird im Datumsfeld ein nachfolgendes 'Z' angezeigt?

Hier werden mehrere Datumswerte mit einem nachgestellten 'Z' angezeigt.

Andrew May
quelle
1
Ich denke, Daten werden intern in Zeitstempel konvertiert. Siehe docs.codehaus.org/display/GEOTOOLS/Date+Time+handling für einige Diskussion
Ian Turton

Antworten:

4

Es scheint, dass Sie auf dem richtigen Weg waren / sind, da das 'Z' für eine Zeitzonenanzeige verwendet wird. Hier ist die Quelle, die ich gefunden habe und die Ihre Frage am besten beantwortet

"Z" ist eine Art einzigartiger Fall für DateTimes. Das Literal "Z" ist tatsächlich Teil des ISO 8601-Datums- / Uhrzeitstandards für UTC-Zeiten. Wenn "Z" (Zulu) am Ende einer Zeit angeheftet wird, zeigt dies an, dass diese Zeit UTC ist, also ist das wörtliche Z wirklich Teil der Zeit.

Whyzar
quelle