2013-10-13 10 views
8

टाइमस्टैम्प के इस स्ट्रिंग में कनवर्ट मैं इस स्ट्रिंग है: "13/10 15:00" और जब मैं यह कर मैं इसे टाइमस्टैम्प लेकिन कन्वर्ट करने के लिए करना चाहते हैं:पीएचपी

 $timestamp = strtotime("13/10 15:00"); 

यह एक खाली मान देता है।

+0

strtotime अचूक नहीं है:

आप एक कस्टम प्रारूप के साथ डेट स्ट्रिंग पार्स चाहते हैं, यह दिनांक समय :: createFromFormat() के बजाय उपयोग करना बेहतर है [डेटटाइम :: createFromFormat] (http://php.net/manual/en/datetime.createfromformat.php) (PHP 5.3.x और ऊपर से उपलब्ध) या इसी तरह के। (आपको गुम वर्ष भी प्रदान करने की आवश्यकता होगी।) –

+0

आपका प्रारूप समर्थित नहीं है! http://www.php.net/manual/en/datetime.formats.compound.php – WebNovice

+0

आपकी स्ट्रिंग एक अच्छी तरह से परिभाषित दिनांक या समय –

उत्तर

34

अपने कोड strtotime() में 13/10 13 महीने के दसवें दिन है, जो एक त्रुटि देता है के रूप में परिवर्तित करने के लिए प्रयास कर रहा है। - अगर आप प्रारूप पता है, तुम का उपयोग करना चाहिए

$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00"); 
$timestamp = $dtime->getTimestamp(); 
+0

'$ टाइमस्टैम्प' वैरिएबल में डेटटाइम ऑब्जेक्ट नहीं है, टाइमस्टैम्प नहीं है। टाइमस्टैम्प प्राप्त करने के लिए, '$ टाइमस्टैंप-> getTimestamp();' या '$ टाइमस्टैम्प-> प्रारूप ('यू') का उपयोग करें;' –

+0

@ Glavić सच है - अभी भी 'strtotime() 'से अधिक विश्वसनीय है। धन्यवाद। –

+6

दस्तावेज़ीकरण से लिंक: http://php.net/manual/en/datetime.createfromformat.php – Doug

14
$timestamp = strtotime("13-10-2013 15:00"); 

यह महत्वपूर्ण हो सकता है: मीटर में

तिथियां/दि/व या DMY प्रारूपों पर विभिन्न घटकों के बीच विभाजक देखकर disambiguated कर रहे हैं: यदि विभाजक एक स्लैश (है /), तो अमेरिकी एम/डी/वाई माना जाता है; जबकि विभाजक एक डैश (-) या एक बिंदु (।) है, तो यूरोपीय डी-एम-वाई प्रारूप माना जाता है।

संभावित अस्पष्टता से बचने के लिए, आईएसओ 8601 (YYYY-MM-DD) दिनांक या डेटटाइम :: createFromFormat() संभव होने पर उपयोग करना सबसे अच्छा है।

http://uk3.php.net/strtotime