我正在使用CakePHP 1.3來編寫一個應用程序,並且我在數據庫中創建了一個datetime
字段。如何在CakePHP中設置時間格式?
而我把它稱爲echo $post['Post']['created'];
,我得到了類似2011-07-03 00:00:00
的東西。
我想讓它看起來更像Jan 1st 2008, 19:25
。
我在7.12.1 Formatting(CakePHP手冊)中看到一些文檔,但是如何實現呢?
我正在使用CakePHP 1.3來編寫一個應用程序,並且我在數據庫中創建了一個datetime
字段。如何在CakePHP中設置時間格式?
而我把它稱爲echo $post['Post']['created'];
,我得到了類似2011-07-03 00:00:00
的東西。
我想讓它看起來更像Jan 1st 2008, 19:25
。
我在7.12.1 Formatting(CakePHP手冊)中看到一些文檔,但是如何實現呢?
您需要格式化日期使用date()
。見http://php.net/manual/en/function.date.php和http://php.net/manual/en/function.strtotime.php
echo date('M j Y, h:i', strtotime($post['Post']['created']));
更好的解決方案是創建一個幫手。瞭解這些最好的地方是CakePHP manual。
感謝,這就像一個魅力 – Patrioticcow
工作的可能重複,我建議使用傭工和包裝功能! – mark
對我來說現在有點太多了,但如果你有一個教程或我可以得到的一些代碼,我會挑釁地看看我應該怎樣做正確的方式 – Patrioticcow
要做到這一點使用內置的蛋糕Time
幫手,使用此:
// controller:
$helpers = array('Time');
然後在您的視圖:
echo $this->Time->nice($post['Post']['created']);
// outputs Tue, Jan 1st 2008, 19:25".
如果你正在尋找的表現(雖然可以忽略不計),你直接使用date
會更好,因爲另一張海報表明,沒有加載Time
幫手的開銷。
但助手更容易實施,更不用說打開其他助手功能,所以它顯然取決於你的需求。
在Cake中最簡單的方法是使用time helper。以前的文章給出了CakePHP 2.x的正確答案,但是您要求提供1.3的解決方案。 在你的控制器寫:
var $helpers = array('Time');
在你看來寫:
echo $time->niceShort($post['Post']['created']);
這工作對我來說,過去的3年。
[格式化CakePHP的日期字符串(http://stackoverflow.com/questions/3520982/formatting-date-string-in-cakephp) – givanse