MySQL में टाइमस्टैम्प को डेटाइम में कैसे बदलें?


133

कैसे कन्वर्ट करने के लिए 1300464000करने के लिए 2011-03-18 16:00:00MySQL में?


2
नया प्रश्न पोस्ट करने से पहले कृपया मौजूदा प्रश्नों / उत्तरों की खोज करें - यह विषय पहले ही कुछ विवरणों में शामिल हो चुका है।
जॉन पार्कर

2
क्या आपके पास पहले से ही प्रलेखन पर एक नज़र है? यह सब वहाँ है: dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
फेलिक्स क्लिंग

जवाबों:


200

उपयोग FROM_UNIXTIME()MySQL में फ़ंक्शन का

याद रखें कि यदि आप एक फ्रेमवर्क का उपयोग कर रहे हैं जो इसे मिलीसेकंड में संग्रहीत करता है (उदाहरण के लिए जावा का टाइमस्टैम्प) तो आपको सेकंड में सही यूनिक्स समय प्राप्त करने के लिए 1000 से विभाजित करना होगा।


1
SELECT from_unixtime( TIMESTAMP( "2011-12-01", "22:01:23.048" ) )काम नहीं करता है। क्यों? v5.6 का उपयोग करते हुए
Janus Troelsen

3
@JanusTroelsen SELECT from_unixtime( unix_timestamp(TIMESTAMP( "2011-12-01", "22:01:23.048" ) ) )काम करता है। TIMESTAMP()एक पूर्णांक मान वापस नहीं करता है।
cnvzmxcvmcx

4
सिर्फ इसलिए कि मैंने यह किया है और आउटपुट पर उलझन में है: MySQL सेकंड में यूनिक्स समय संग्रहीत करता है, जबकि बहुत सारे अन्य फ्रेमवर्क इसे मिलीसेकंड (यानी जावा के टाइमस्टैम्प) में संग्रहीत करते हैं। तो बस 1000 से विभाजित करने के लिए याद रखें अगर आप कहीं से आने वाले डेटा पर इस फ़ंक्शन का उपयोग कर रहे हैं जो यूनिक्स समय के लिए मिलिस का उपयोग करता है।
क्रिस थॉम्पसन

64
DATE_FORMAT(FROM_UNIXTIME(`orderdate`), '%Y-%m-%d %H:%i:%s') as "Date" FROM `orders`

यह अंतिम समाधान है यदि दी गई तिथि एन्कोडेड फॉर्मेट में है 1300464000


3
इसके लिए धन्यवाद। समय को शामिल करने के लिए: DATE_FORMAT(FROM_UNIXTIME(`orderdate`), '%d-%m-%Y %H:%i:%s') as "Date" FROM `orders`
JNP वेब डेवलपर

मुझे पूरा यकीन है कि DATE_FORMAT (FROM_UNIXTIME ( orderdate), '% Y-% m-% d') के रूप में "दिनांक" से ordersअंतिम समाधान होगा: D
काइल

14

जानूस ट्रॉल्सन की टिप्पणी का जवाब देने के लिए

TIMESTAMP के बजाय UNIX_TIMESTAMP का उपयोग करें

SELECT from_unixtime( UNIX_TIMESTAMP(  "2011-12-01 22:01:23.048" ) )

TIMESTAMP फ़ंक्शन दिनांक या दिनांक समय पर लौटाता है और टाइमस्टैम्प नहीं, जबकि UNIX_TIMESTAMP एक यूनिक्स टाइमस्टैम्प लौटाता है


एक यूनिक्स समय की एक यूनिक्स समय से तुलना करना स्पष्ट लगता है। मैं चयन (CATE (DATE_FORMAT (from_unixtime (UNIX_TIMESTAMP) (CURRENT_TIMESTAMP))), '% Y-% m-% d') DATE के रूप में) <CAST ('2019-05-02' AS DATE) का उपयोग करता हूं; तारीखों की तुलना करने के लिए, मैं 2019-05 * 02 को एक प्रारूपित डेटाटाइम ऑब्जेक्ट को php में प्रतिस्थापित करता हूं। Thnaks।
मेंटिस

1
कृपया मूल प्रश्न की तुलना में इस प्रश्न का उत्तर अलग से न दें।
पावेल स्टेनकोव्स्की

यह किसी भी तरह से मूल प्रश्न का उत्तर नहीं देता है
निको हसे


3

SELECT from_unixtime( UNIX_TIMESTAMP(fild_with_timestamp) ) from "your_table"
यह काम मेरे लिए

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.