मुझे लगता है कि आपके पास ct
. नाम का एक कॉलम है जिसका प्रकार TIMESTAMPTZ
. है तालिका में t
. तब आप इसका उपयोग कर सकते हैं:
SELECT EXTRACT(TIMEZONE FROM ct) FROM t;
सेकंड में टाइमज़ोन की ऑफसेट प्राप्त करने के लिए। यह आपको 3600
. देता है UTC
. से /GMT
यानी या तो GMT+1
, CET
या जो कुछ भी। लौटाया गया मान आपके TIMEZONE
. पर निर्भर करता है सेटिंग।
नमूना (मैं जर्मनी में रहता हूं, वास्तविक समय क्षेत्र GMT+1
. है /CET
):
test=# select '2008-01-01 12:00:00 GMT+5'::timestamptz;
timestamptz
------------------------
2008-01-01 18:00:00+01
test=# set timezone to 'gmt';
SET
test=# select '2008-01-01 12:00:00 GMT+5'::timestamptz;
timestamptz
------------------------
2008-01-01 17:00:00+00
जैसा कि आप देख सकते हैं कि यह हमेशा कॉन्फ़िगर किए गए टाइमज़ोन में कुछ भी आउटपुट करता है। तो ऑफसेट आपको EXTRACT(TIMEZONE FROM ...)
. के साथ मिलेगा आपके TIMEZONE
. पर निर्भर करता है स्थापना। समय क्षेत्र जो INSERT
. पर दिया गया था खो गया है, क्योंकि यह बचाने लायक नहीं है। जो मायने रखता है वह यह है कि सब कुछ सही है और यह TIMEZONE
. पर निर्भर नहीं होना चाहिए स्थापना। PostgreSQL यह बहुत अच्छा करता है।