[GIS] Why are date vaules displaying a trailing ‘Z’ when layers are published with Geoserver and a PostGIS data store

geoservergeotoolspostgispostgis-2.0postgresql

I have published various layers using Geoserver 2.2.x with a PostGIS 2.0.1 (PostgreSQL 9.1.x) data store. Fields that only have date values and not time/timestamp related values are stored as date. After publishing my layers as wfs/wms and opening the table in the browser date vlues are displaying with a trailing 'Z'.

Is this a product of the geotools data store api that geoserver is using?

I think the geotools data store api is throwing a blanket over the data reading date as datetime, timestamp etc and the 'z' gets displayed for zulu time. I could be totally off on my geotools assumption but in PostgreSQL 'z' represents zulu or utc.

If the data source values are stored as date and have no time component why is there a trailing 'Z' in the date field?

Here multiple date values display with a trailing 'Z'

Best Answer

It appears you were/are on the right track as the 'Z' is used for a timezone indicator, here is the source I found that best answers your question

"Z" is kind of a unique case for DateTimes. The literal "Z" is actually part of the ISO 8601 datetime standard for UTC times. When "Z" (Zulu) is tacked on the end of a time, it indicates that that time is UTC, so really the literal Z is part of the time.

Related Question