2013-04-07 3 views
10

क्या किसी को पता है कि कोई स्ट्रिंग एक MySQL डेटाटाइम प्रारूप है या नहीं, यह जांचने के लिए कोई अंतर्निहित या त्वरित फ़ंक्शन है या नहीं?PHP में फास्ट तरीका यह जांचने के लिए कि कोई मान MySQL डेटाटाइम प्रारूप में है या नहीं?

2038-01-19 03:14:07 

http://dev.mysql.com/doc/refman/5.0/en/datetime.html

+0

http://stackoverflow.com/ की संभावित डुप्लिकेट से नकल किया गया था प्रश्न/2215354/php-date-format-when-insert-in-datetime-in-mysql php ['date()'] देखें (http://php.net/manual/en/function.date.php) दस्तावेज़ीकरण । उदाहरण: 'तिथि (" वाई-एम-डी एच: आई: एस ")' – Aiias

उत्तर

11

आप DateTime::createFromFormat('Y-m-d H:i:s', '2038-01-19 03:14:07') कोशिश करें और देखें कि यह गलत रिटर्न कर सकते हैं: यहाँ एक उदाहरण है। http://www.php.net/manual/en/datetime.createfromformat.php

+0

यह रेगेक्स से बेहतर है जो मैं सुझाव देने वाला था, धन्यवाद। –

+0

पर स्पॉट - धन्यवाद! – mattl

8

मैं epicdev द्वारा जवाब प्यार करता था, हालांकि, वर्ग केवल प्रारूप मान्य करने के लिए, 2015-18-39 तरह एक तारीख अभी भी यह के लिए मान्य है और इसके बजाय अवैध खारिज की 2016/07/09 में बदल जाती है लगता है दिन/महीना इसमें थोड़ा सा बदलाव यह जांचना है कि पार्स की गई तारीख अभी भी दर्ज की गई तारीख के समान ही है।

समारोह php.net प्रलेखन पर जीमेल डॉट कॉम पर glavic द्वारा प्रस्तावित

function validateDate($date, $format = 'Y-m-d H:i:s') 
{ 
    $d = DateTime::createFromFormat($format, $date); 
    return $d && $d->format($format) == $date; 
} 

समारोह इस answer या php.net

+0

यह मेरे लिए काम किया। सुनिश्चित नहीं है कि यह ** ओपी ** @ 102635 के साथ समान है –

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

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