2011-08-26 9 views
24

में डेटाटाइम ऑब्जेक्ट से स्ट्रिंग के रूप में दिनांक प्राप्त करें मेरी एक इकाई में, मेरे पास insert_date नामक संरक्षित संपत्ति है जो एक डेटाटाइम है।सिद्धांत 2

जब मैं डेटा को बाद में निकालता हूं, मुझे स्ट्रिंग के रूप में तारीख नहीं मिलती है, मुझे ऑब्जेक्ट मिलता है। मेरे वर डंप:

<pre class='xdebug-var-dump' dir='ltr'> <b>object</b>(<i>DateTime</i>)[<i>1560</i>] <i>public</i> 'date' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'2011-08-26 12:40:29'</font> <i>(length=19)</i> <i>public</i> 'timezone_type' <font color='#888a85'>=&gt;</font> <small>int</small> <font color='#4e9a06'>3</font> <i>public</i> 'timezone' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'Europe/London'</font> <i>(length=13)</i> </pre><pre class='xdebug-var-dump' dir='ltr'> <b>object</b>(<i>DateTime</i>)[<i>1571</i>] <i>public</i> 'date' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'2011-08-26 12:40:29'</font> <i>(length=19)</i> <i>public</i> 'timezone_type' <font color='#888a85'>=&gt;</font> <small>int</small> <font color='#4e9a06'>3</font> <i>public</i> 'timezone' <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>'Europe/London'</font> <i>(length=13)</i> 

मैंने कोशिश की:

foreach($dateObj as $date) { 

} 

लेकिन यह निकालने नहीं है ... मैं कैसे इस वस्तु से तारीख संपत्ति मिल सकता है? यहां तक ​​कि $insert_date->date काम नहीं करता है।

उत्तर

50

उपयोग

if($dateObj) 
{ 
    $dateObj->format('Y-m-d H:i:s'); 
} 
+0

घातक त्रुटि: किसी गैर-ऑब्जेक्ट पर किसी सदस्य फ़ंक्शन प्रारूप() पर कॉल करें ?? –

+4

आपके कुछ रिकॉर्ड डीबी में 'NULL' हो सकते हैं। '$ DateObj' को स्वरूपित करने से पहले खाली नहीं है: 'if (! खाली ($ dateObj)) $ dateObj-> प्रारूप (...)'। – J0HN

+0

जॉन सही है, अद्यतन कोड –

13

सुनिश्चित करें कि आपके $ dateObj एक वास्तविक दिनांक obj इस्तेमाल होता है बनाने के लिए:

if($dateObj instanceof \DateTime){ 
    $dateObj->format('Y-m-d H:i:s'); 
} 

का उपयोग कर जाँच करता है "instanceof" उस वस्तु इस प्रकार अभ्यस्त फेंक आवश्यक प्रारूप समारोह होगा अगर यह नहीं है तो त्रुटियां।