2011-03-10 60 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'])); 
相关问题