तो मेरे पास एक टिप्पणी सुविधा वाला एक साइट है जहां टिप्पणी का टाइमस्टैम्प एक MySQL डेटाबेस में संग्रहीत किया जाता है। जो मैं समझता हूं, उस समय टाइमस्टैम्प को यूटीसी में परिवर्तित किया जाता है, फिर पुनर्प्राप्त होने पर डिफ़ॉल्ट टाइमज़ोन में परिवर्तित कर दिया जाता है। मेरे मामले में, मेरा सर्वर सेंट्रल डेलाइट टाइम टाइमज़ोन (सीडीटी) में है।PHP और MySQL: संग्रहीत टाइमस्टैम्प को उपयोगकर्ता के स्थानीय टाइमज़ोन में परिवर्तित करना
मेरे पास प्रत्येक उपयोगकर्ता से एंट्री फॉर्म के माध्यम से टाइमज़ोन प्राप्त करने की योजना है। मैं सिर्फ यह जानना चाहता था कि टाइमस्टैम्प मूल्य को उपयोगकर्ता के टाइमज़ोन में कैसे परिवर्तित करें।
- सबसे पहले, क्या मैं यूटीसी से स्थानीय टाइमज़ोन में बदल जाऊंगा? या सीडीटी स्थानीय टाइमज़ोन के लिए?
- दूसरा, मैं PHP में ऐसा करने के बारे में कैसे जाऊं? मैं तो बस करना होगा:
$userTimezone = new DateTimeZone($userSubmittedTimezoneString); $myDateTime = new DateTime($storedTimestamp, $userTimezone);
... या यह है कि सही नहीं?
नहीं, टाइमस्टैम्प को mysql में संग्रहीत किया जाता है, लेकिन बिना किसी TZ डेटा के। यदि आप डीबी में "3 अपराह्न, सीएसटी" डालें, तो 3 बजे, सीएसटी संग्रहीत है। आपके द्वारा डालने से पहले आपको यूटीसी में कनवर्ट करने की आवश्यकता होगी ताकि आपके पास अन्य TZs में कनवर्ट करने के लिए एक सामान्य अपरिवर्तनीय आधार हो। –