Tại sao các ngày tháng hiển thị dấu 'Z' khi các lớp được xuất bản với Geoserver và kho lưu trữ dữ liệu PostGIS?


11

Tôi đã xuất bản các lớp khác nhau bằng Geoserver 2.2.x với kho dữ liệu PostGIS 2.0.1 (PostgreQuery 9.1.x). Các trường chỉ có giá trị ngày và không có giá trị liên quan đến thời gian / dấu thời gian được lưu trữ dưới dạng ngày. Sau khi xuất bản các lớp của tôi dưới dạng wfs / wms và mở bảng trong vlues ngày của trình duyệt sẽ hiển thị với dấu 'Z'.

Đây có phải là sản phẩm của api lưu trữ dữ liệu geotools mà geoserver đang sử dụng không?

Tôi nghĩ rằng api lưu trữ dữ liệu geotools đang ném một tấm chăn vào ngày đọc dữ liệu là datetime, dấu thời gian, v.v. và 'z' được hiển thị cho thời gian zulu. Tôi có thể hoàn toàn tắt giả định geotools của mình nhưng trong PostgreSQL 'z' đại diện cho zulu hoặc utc.

Nếu các giá trị nguồn dữ liệu được lưu trữ dưới dạng ngày và không có thành phần thời gian thì tại sao lại có dấu 'Z' trong trường ngày?

Ở đây hiển thị nhiều giá trị ngày với dấu 'Z'


1
Tôi nghĩ ngày được chuyển đổi thành dấu thời gian trong nội bộ. Xem docs.codehaus.org/display/GEOTOOLS/Date+Time+handling để biết một số cuộc thảo luận
Ian Turton

Câu trả lời:


4

Có vẻ như bạn đã / đang đi đúng hướng vì 'Z' được sử dụng cho chỉ báo múi giờ, đây là nguồn tôi thấy rằng câu trả lời tốt nhất cho câu hỏi của bạn

"Z" là một trường hợp duy nhất cho DateTimes. Chữ "Z" thực sự là một phần của tiêu chuẩn thời gian ISO 8601 cho thời gian UTC. Khi "Z" (Zulu) được giải quyết vào cuối thời gian, điều đó cho thấy rằng thời gian đó là UTC, vì vậy thực sự chữ Z là một phần của thời gian.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.