/ / MySQL यूटीसी डेटाटाइम को यूनिक्स टाइमस्टैम्प में कनवर्ट करें - php, mysql, डेटाटाइम, यूनिक्स-टाइमस्टैम्प

MySQL यूटीसी डेटाटाइम को यूनिक्स टाइमस्टैम्प में कनवर्ट करें - php, mysql, डेटाटाइम, यूनिक्स-टाइमस्टैम्प

ये दोनों वर्तमान यूनिक्स टाइमस्टैम्प को सही ढंग से वापस कर देते हैं:

SELECT UNIX_TIMESTAMP(LOCALTIMESTAMP()); #MySql
echo time(); //PHP

लेकिन मैं अपने डेटाबेस में UTC_TIMESTAMP संग्रहीत कर रहा हूं (LOCALTIMESTAMPs नहीं)।

मैं एक यूटीसी डेटाटाइम को MySQL का उपयोग करके यूनिक्स टाइमस्टैम्प में कैसे परिवर्तित कर सकता हूं?

उत्तर:

जवाब के लिए 2 № 1

ध्यान दें कि LOCALTIMESTAMP () अब के लिए समानार्थी है ()। तो आप वास्तव में क्या पूछ रहे हैं कि वर्तमान समय कैसे प्राप्त करें और इसे जीएमटी में परिवर्तित करें और फिर डीबी में स्टोर करने के लिए यूनिक्स टाइमस्टैम्प में कनवर्ट करें। तो यह काम करेगा:

SELECT UNIX_TIMESTAMP(CONVERT_TZ(NOW(), @@global.time_zone, "GMT"));

एक तरफ के रूप में, यह यूनिक्स टाइमस्टैम्प की बजाय डेटाबेस के समय और दिनांक कॉलम का उपयोग करने के लिए हमेशा बेहतर होता है। यह क्वेरीिंग और परिणामों को प्रदर्शित करना अधिक आसान बनाता है।

अपडेट करें: क्या आपको यकीन है कि आप जो सोच रहे हैं वह आपको मिल रहा है? UNIX_TIMESTAMP यूनिक्स युग के बाद से यूटीसी आधारित सेकंड देता है। यह एक वापस नहीं करता है MySQL डेटटाइम प्रकार। यदि आपके पास वास्तविक यूटीसी डेटटाइम उदाहरण है,तो आप इसे सीधे अपने डेटाबेस के अपने डेटटाइम कॉलम में डाल सकते हैं और इसे मध्यस्थ के रूप में UNIX_TIMESTAMP का उपयोग नहीं करना चाहिए। स्थानीय समय में आपके पास वास्तव में किस प्रकार का है?