2011-10-14 9 views
19

मेरे पास एक तिथि क्षेत्र वाला एक टेबल है, जिसमें मानव तिथि है: '2008-01-08 19:23:32' अब मुझे इस फ़ील्ड और एक ही तालिका के कुछ अन्य फ़ील्ड को दूसरी तालिका में कॉपी करना होगा, लेकिन तारीख को यूनिक्स टाइमस्टैंप में होना चाहिए।माइस्क्ल में मानव तिथि को यूनिक्स टाइमस्टैंप में कैसे परिवर्तित करें?

क्या MySQL में कोई फ़ंक्शन है जो मानव तिथि को क्वेरी के अंदर टाइमिक्स को यूनिक्स में परिवर्तित करता है?

+2

बस एक ध्यान दें, यदि आपके तालिका में संग्रहीत तारीख यूटीसी में नहीं है तो आप यूटीसी समय-क्षेत्र पर यह पहली कन्वर्ट और फिर unix_timestamp कॉल करने के लिए हो सकता है (से)। मुझे यकीन नहीं है कि टाइमस्टैम्प की गणना करने से पहले 'unix_timestamp()' स्वचालित रूप से डेटाटाइम को यूटीसी में परिवर्तित कर देता है। –

+0

बस एक नोट .. यह एक 'डेटाटाइम' फ़ील्ड प्रकार है, न कि 'date' फ़ील्ड प्रकार। इसमे अंतर है। – DevlshOne

उत्तर

42
mysql> select unix_timestamp('2008-01-08 19:23:32'); 
+---------------------------------------+ 
| unix_timestamp('2008-01-08 19:23:32') | 
+---------------------------------------+ 
|       1199849012 | 
+---------------------------------------+ 
1 row in set (0.04 sec) 

मिली: http://www.epochconverter.com/

4

UNIX_TIMESTAMP() चाल चलाना चाहिए!

MySQL डॉक्स से:

कोई तर्क के साथ कॉल करते हैं, तो एक अहस्ताक्षरित पूर्णांक के रूप में एक यूनिक्स टाइमस्टैम्प (सेकंड के बाद से '1970-01-01 00:00:00' UTC) देता है। यदि UNIX_TIMESTAMP() को दिनांक तर्क के साथ बुलाया जाता है, तो यह को '1970-01-01-01 00:00:00' यूटीसी के बाद से सेकंड के रूप में तर्क देता है। दिनांक एक DATE स्ट्रिंग, एक DATETIME स्ट्रिंग, एक TIMESTAMP, या प्रारूप YYMMDD या YYYYMMDD प्रारूप में एक संख्या हो सकती है। सर्वर वर्तमान समय जोन में मान के रूप में दिनांक की व्याख्या करता है और इसे यूटीसी में एक आंतरिक मान में परिवर्तित करता है।

mysql> SELECT UNIX_TIMESTAMP(); 
     -> 1196440210 
mysql> SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19'); 
     -> 1196440219 
0

हां। चयन UNIX_TIMESTAMP (स्तंभ) टेबल

संबंधित मुद्दे

 संबंधित मुद्दे