我在我們的數據庫中有日期「2014-03-06 16:23:33」。我想顯示「2014年3月6日04:23:33 CST」。使用cakephp。日期格式應該在cst
如:
$this -> Html -> cDate ($courseLog['CourseLog']['completed_time'],'datetimes');
謝謝進階
Plz answer asAP。
我在我們的數據庫中有日期「2014-03-06 16:23:33」。我想顯示「2014年3月6日04:23:33 CST」。使用cakephp。日期格式應該在cst
如:
$this -> Html -> cDate ($courseLog['CourseLog']['completed_time'],'datetimes');
謝謝進階
Plz answer asAP。
更新
雖然我一開始說我不知道,如果CakePHP的有這個特定的幫手,現在我幾乎完全肯定他們不。
自己的文件簡單地提到了DateTime
類,並link to the PHP docs
而一個github上搜索什麼叫cDate
shows up empty,CDATA
是完全不同的東西反正...
作爲後續行動,以我的意見,這我會刪除,但添加完整性這裏:
我不知道,如果CakePHP有這個特定的幫手,但
$date = new DateTime($yourDateString);
$date->format(DATE_RFC820);
應該關閉。根據你需要的Compose your own format,或查詢the predefined constants一應俱全。
好,所以DATE_RFC850
不變的是不是你正在尋找的格式,字符串操作的精確匹配(在一系列的substr
和explode
- implode
呼叫)僅僅是繁瑣且顯得凌亂和業餘。但只是看格式參數!
我懷疑你實際上是在尋找這樣的事情:
$date = new DateTime($courseLog['CourseLog']['completed_time']);
$asString = $date->format('M d, Y h:i:s A e');
也許是更安全的爲您從您知道格式創建DateTime
實例,並期望。你知道字符串是如何被格式化,這樣你就可以使用靜態方法DateTime::createFromFormat
,太:
$date = DateTime::createFromFormat(
'Y-m-d H:i:s', //yyyy-mm-dd hh:mm:ss format
$courseLog['CourseLog']['completed_time']//the string to parse
);
$asString = $date->format('M d, Y h:i:s A e');
echo $asString, PHP_EOL;
正如你可以看到from this codepad,這完美的作品...
格式解釋:
M
:這個月的短文本表示,F
給出全月d
:一天中的2位(與前導零)表示,變化到j
下降前導零Y
:4位年,而不是y
,這給2位數字h
:12小時,前導零, g
刪除前導零。利用這兩種格式,你會得到24小時的版本i
:分鐘,前導零s
:秒,憑藉領先的零A
:上午或下午,更改爲a
得到上午或PMe
:時間區標識符,替代是T
(時區的縮寫)或O
P
和(均差,以時GMT,P
添加小時minut之間的冒號ES(0400 VS +04:00)底線,PHP自帶DateTime
對象,它已經提供了日期和時間的工作了堅實的方式,我建議你簡單地使用核心對象。無論CakePHP提供什麼,它很可能只是一個包裝the DateTime
and its related classes
你問人們_「PLZ答案儘快」_,但在我發佈我的答案後5天,你沒有接受,上或下 - 投了答案,也沒有評論說如果有什麼,我的答案是錯的 –