2011-08-26 39 views
24

Trong một trong các thực thể của tôi, tôi có một thuộc tính được bảo vệ có tên là insert_date là ngày giờ.Lấy ngày dưới dạng chuỗi từ đối tượng ngày giờ trong học thuyết 2

Khi tôi trích xuất dữ liệu sau đó, tôi không nhận được ngày dưới dạng chuỗi, tôi nhận được một đối tượng. My var bãi:

<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> 

tôi đã cố gắng:

foreach($dateObj as $date) { 

} 

Nhưng nó không giải nén ... Làm thế nào tôi có thể nhận được tài sản ngày từ đối tượng này? Thậm chí $insert_date->date không hoạt động.

Trả lời

50

sử dụng

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

Lỗi nghiêm trọng: Gọi đến định dạng hàm thành viên() trên một đối tượng không ?? –

+4

Một số bản ghi của bạn có thể có 'NULL' trong db. Kiểm tra '$ dateObj' không trống trước khi định dạng:' if (! Empty ($ dateObj)) $ dateObj-> format (...) '. – J0HN

+0

John là đúng, cập nhật mã –

13

Để đảm bảo rằng $ dateObj của bạn là một sử dụng datetime obj thực tế:

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

sử dụng "instanceof" kiểm tra mà đối tượng sẽ có chức năng định dạng cần thiết do đó ném sẽ không lỗi nếu nó không phải.

Các vấn đề liên quan