कुछ विकल्प हैं, जिनमें से कोई भी वास्तव में महान काम नहीं करता है। यह एक वर्डप्रेस बग है, और यह वास्तव में बेकार है क्योंकि समय गलत है जब तक आप अपनी साइट को यूटीसी पर सेट नहीं करते हैं ... जो भ्रामक है और हमेशा संभव भी नहीं है।
यह अगला कोड मुझे लगता है कि केवल तभी काम करता है जब आप GMT नंबर ऑफ़सेट के बजाय एक नामित शहर के रूप में अपना Timezone (सेटिंग्स के तहत - सामान्य में) चुनें। मैंने इसका परीक्षण नहीं किया है लेकिन यह बहुत संभव है कि get_option('gmt_offset')
कब सेट किया जाए get_option('timezone_string')
।
date_default_timezone_set(get_option('timezone_string'));
इसका नकारात्मक पक्ष यह है कि mysql टाइमस्टैम्प बनाते समय वर्डप्रेस PHP को यूटीसी पर सेट कर देता है, इसलिए जब भी आप टाइमज़ोन स्विच करते हैं, तो आप अपने डेटाबेस को थोड़ा गड़बड़ कर सकते हैं! अन्य WP प्लगइन्स का उल्लेख नहीं करना यह मान सकता है कि PHP वातावरण हमेशा यूटीसी में है।
इसलिए, यदि आप सही समय चाहते हैं - तो आप अपने टाइमस्टैम्प को UTC में रखने के लिए बाध्य कर सकते हैं:
get_post_time('c', true); //should work for non-post objects.
दुर्भाग्य से, हालांकि सही है, यह समयक्षेत्र को UTC के लिए सेट कर देगा।
और ध्यान दें कि आप दोनों "सत्य" ध्वज और डिफ़ॉल्ट टाइमज़ोन_सेट फ़ंक्शन का उपयोग नहीं कर सकते ।
किसी भी उचित समाधान के लिए एक कोड-स्निपेट होना चाहिए जो दोनों के लिए खाता है gmt_offset
और timezone_string
कुछ इनपुट पर टाइमज़ोन सेट करने के लिए उनका उपयोग करता है। WP मानता है कि जब mysql टाइमस्टैम्प कर रहा है तो PHP UTC में सेट हो गया है, और यह अन्य प्लगइन्स को तोड़ सकता है।
Https://www.skyverge.com/blog/down-the-rabbit-hole-wordpress-and-timezones/ पर ऐसा एक समाधान है , लेकिन, फिर से यह एक BUG है, इसलिए आपको get_post_time($date_format, TRUE)
टाइमस्टैम्प प्राप्त करने के लिए कोड का उपयोग करना चाहिए वास्तव में सही है।