में कनवर्ट करना मैं अपनी वेबसाइट पर अपनी mysql तालिका से टाइम फ़ील्ड प्रदर्शित करना चाहता हूं, लेकिन 21:00:00 आदि दिखाने के बजाय मैं 8:00 बजे दिखाना चाहता हूं। मुझे यह करने के लिए एक फ़ंक्शन/कोड चाहिए या सही दिशा में किसी भी पॉइंटर्स की आवश्यकता है। सही उत्तर के रूप में कुछ कोड के साथ पहला जवाब चिह्नित करेगा।mysql TIME को 24 एचआर से AM/PM प्रारूप
उत्तर
चेक इस बाहर: http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
मैं कल्पना करता आप DATE_FORMAT चाहते हैं()।
उदाहरण: DATE_FORMAT ($ तिथि, "% r")
तुम भी औ के रूप में कॉलम चुन सकते हैं MYSQL के UNIX_TIMESTAMP()
फ़ंक्शन का उपयोग करके निक्स टाइमस्टैम्प। फिर इसे PHP में प्रारूपित करें। IMO यह अधिक लचीला है ...
select a, b, c, UNIX_TIMESTAMP(instime) as unixtime;
PHP में उपयोग करने date()
समारोह & प्रारूप यह किसी भी तरह आप चाहते हैं।
<?php echo date('Y/m/d', $row->unixtime); ?>
कारण मैं इस विधि के रूप में एसक्यूएल में प्रारूपित करने का विरोध पसंद है, बी/सी है मेरे लिए, तारीख के प्रारूप, प्रदर्शन निर्णय & (मेरी राय में) एसक्यूएल में तिथि स्वरूपण लगता है गलत है .. अपने एसक्यूएल में डिस्प्ले लॉजिक क्यों डालें?
अब - यदि आप PHP में डेटा संसाधित नहीं कर रहे हैं और adhoc प्रश्न कर रहे हैं तो DATE_FORMAT()
जाने का तरीका है। लेकिन यदि आपके पास वेब पर डेटा दिखाना है तो मैं UNIX_TIMESTAMP()
के साथ जाऊंगा और PHP में स्वरूपण करूँगा ...
मेरा मतलब है ... मान लें कि आप बदलना चाहते हैं कि दिनांक & समय कैसे है पृष्ठ पर प्रदर्शित ... क्या यह आपके एसक्यूएल को डिस्प्ले ट्विक के लिए संशोधित करने के लिए "बंद" महसूस नहीं करेगा?
मेरी 2 सेंट
मेरे पास एक कक्षा है जिसमें मेरी सभी दिनांक हैंडलिंग कोड शामिल है। लॉगिन कोड में मैं बस उस वर्ग से एक फ़ंक्शन कॉल करता हूं जो DATE_FORMAT() का उपयोग करके समय स्वरूपित करता है। तो यह वास्तव में डिस्प्ले कोड में नहीं दिखाता है और माईस्क्ल तिथियां यूनिक्स टाइमस्टैम्प की तुलना में अधिक पढ़ने योग्य नहीं हैं। – Ali
+1 कहने के लिए "तारीख का प्रारूप एक प्रदर्शन निर्णय है" वास्तव में, मैं इस पर 200% से सहमत हूं –
मैं भी ऐसा ही करने की कोशिश कर रहा था और इस पेज एक गूगल खोज से लौटे मिला है। मैंने 21:00:00 के समय के लिए एक समाधान किया;
DATE_FORMAT(<field>,'%l.%i%p')
जो लौटे 21:00इसके चारों ओर एक
LOWER()
समारोह डालने का उपयोग कर 9:00
तो पूरा कोड है वापस जाने के लिए; DATE_FORMAT(<field>,'%l.%i%p')
मेरे लिए ठीक काम किया ...
निम्न उदाहरण के साथ AM/PM प्रारूप में तारीख & समय डेटा दिखाएं ...
SELECT DATE_FORMAT(`t`.`date_field`,'%h:%i %p') AS `date_field` FROM `table_name` AS `t`
या
SELECT DATE_FORMAT(`t`.`date_field`,'%r') AS `date_field` FROM `table_name` AS `t`
दोनों ठीक से काम कर रहे हैं।
यह एएम/पीएम प्रारूप में प्रदर्शित होगा। लेकिन क्या होगा यदि मैं एएम/पीएम प्रारूप प्रकार को mysql समय प्रारूप में इनपुट करना चाहता था? – itskawsar