2011-03-10 36 views
3

我不斷收到關於我的數據庫car_detail.php頁面上此錯誤警告:日期()預計參數2長,串給出

警告:日期()預計參數2長,字符串中/home/speedycm/public_html/speedyautos/cars_class.php給出線228 *

cars_class.php讀取該線228

$this->expiry_date = date("m/d/Y", $rows['expiry_date']); 

我怎樣才能解決這個問題?

+0

'的var_dump($行[ 'EXPIRY_DATE']);'並始終對這些變量進行'的var_dump()'你」不知道內容。 – zerkms 2011-03-10 02:01:12

回答

12

date()預計會有一個unix時間戳...我想你會把它作爲一個字符串傳遞給它。

例如2010-10-10

你應該使用:

$this->expiry_date = date("m/d/Y", strtotime($rows['expiry_date'])); 

或者更好的是,使用DateTime對象。

$expiry_date = new DateTime($rows['expiry_date']); 
$this->expiry_date = $expiry_date->format('m/d/Y'); 
+0

嗨@Jacob:我面臨同樣的問題,但與strtotime()函數。它在生產服務器上投擲警告,而Staging和Local則沒有問題。 PHP版本的差異會造成一些問題嗎? – dirtyhandsphp 2015-11-26 16:48:35

2

大多數數據庫時下返回datestring這樣 「2011-03-11 20:00:00」。

最簡單的方法(不總是最便宜的CPU使用方面)是:

$this->expiry_date = date("m/d/Y", strtotime($rows['expiry_date'])); 
相關問題