इसके date_trunc . के दो प्रकार होने की उम्मीद है :एक timestamp . के लिए और एक timestamptz . के लिए , क्योंकि दस्तावेज़
कहते हैं:
क्या आप टाइमस्टैम्प और टाइमस्टैम्प को बेहतर ढंग से समझना चाहते हैं, पहले पढ़ें उत्कृष्ट उत्तर यहाँ ।
फिर लगभग date_trunc . मेरे प्रयोगों और विभिन्न SO उत्तरों की व्याख्या के अनुसार (जैसे यह एक
), सब कुछ ऐसा व्यवहार करता है जैसे, टाइमस्टैम्प्ज़ प्राप्त करते समय, date_trunc पहले इसे टाइमस्टैम्प में परिवर्तित करता है। यह रूपांतरण स्थानीय समय में टाइमस्टैम्प लौटाता है। फिर काट-छांट की जाती है:केवल तारीख रखें और घंटे/मिनट/सेकंड कम करें।
इस रूपांतरण से बचने के लिए (धन्यवाद पॉज़), date_trunc को टाइमस्टैम्प (टाइमस्टैम्प नहीं) प्रदान करें:
date_trunc('day', TIMESTAMPTZ '2001-07-16 23:38:40Z' at time zone 'UTC')
भाग at time zone 'UTC' कहते हैं "इस टाइमस्टैम्प को यूटीसी समय में टाइमस्टैम्प में कनवर्ट करें" (इस रूपांतरण से घंटा प्रभावित नहीं होता है)। फिर date_trunc रिटर्न 2001-07-16 00:00:00 ।