2011-07-03 45 views
0

我試圖格式化用下面的代碼中的日期時間變量:提取可用的信息從時間字段在PHP/MySQL的

$passed_time = $stu_quiz->c_date_time; 
$passed_time_string = date_format($passed_time, 'M-d-Y'); 

出於某種原因,如果我打印$ passed_time_string,輸出是空白的,但如果我打印出$ passed_time,我得到日期(格式爲2011-06-15 21:43:09)。

爲什麼date_format方法不起作用?

回答

1

date_format函數需要使用date_create創建的「DateTime」對象。

例子:

$passed_time = date_create($stu_quiz->c_date_time); 
$passed_time_string = date_format($passed_time, 'M-d-Y'); 
0

您正在尋找的只是日期() http://php.net/manual/en/function.date.php

+0

'date()'函數需要一個時間戳,而不是日期的字符串表示。在上面的例子中,'date()'不起作用。 –

+0

日期(strtotime($ passed_time))會tho – meteorainer

+0

是的......但您的答案並不包括這一點,這是非常重要的。否則,OP將會以相同的問題結束。 –

0

如果你沒有PHP 5.3,不能使用DateTime類,試試這個:

$passed_time_string = date("M-d-Y", strtotime($passed_time)); 

首先它將您原來的MySQL時間轉換爲unix時間戳,然後爲墊作爲M-d-Y