Почему в полях даты отображается запаздывающая буква «Z», когда слои публикуются в Geoserver и хранилище данных PostGIS?

11

Я опубликовал различные слои, используя Geoserver 2.2.x с хранилищем данных PostGIS 2.0.1 (PostgreSQL 9.1.x). Поля, имеющие только значения даты, но не связанные с меткой времени / времени, сохраняются как дата. После публикации моих слоев в формате wfs / wms и открытия таблицы в браузере даты отображаются со знаком «Z».

Является ли это продукт API хранилища данных Geotools, который использует GeoServer?

Я думаю, что api хранилища данных geotools выбрасывает одеяло поверх даты чтения данных как datetime, timestamp и т. Д., И 'z' отображается для времени zulu. Я мог бы полностью отказаться от своего предположения о геоинструментах, но в PostgreSQL 'z' представляет собой zulu или utc.

Если значения источника данных хранятся в виде даты и не имеют временной составляющей, почему в поле даты есть завершающий символ «Z»?

Здесь несколько значений даты отображаются с завершающим «Z»

Эндрю Мэй
источник
1
Я думаю, что даты конвертируются во временные метки внутри. См. Docs.codehaus.org/display/GEOTOOLS/Date+Time+handling для некоторого обсуждения
Ian Turton

Ответы:

4

Похоже, что вы были на правильном пути, поскольку «Z» используется для индикатора часового пояса, вот источник, который я нашел, который лучше всего отвечает на ваш вопрос

«Z» является своего рода уникальным случаем для DateTimes. Буква «Z» фактически является частью стандарта даты и времени ISO 8601 для времени UTC. Когда «Z» (Zulu) привязан к концу времени, это означает, что это время UTC, поэтому в действительности литерал Z является частью времени.

whyzar
источник