警告:date()期望参数2为long,字符串为

时间:2011-03-10 01:53:26

标签: php

我在数据库的car_detail.php页面上一直收到此错误

  

警告:date()期望参数2为long,在第228行的/home/speedycm/public_html/speedyautos/cars_class.php中给出字符串*

cars_class.php在第228行读取此内容

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

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:13)

date()需要一个unix时间戳...我想你以字符串的形式传递日期。

e.g。 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');

答案 1 :(得分:2)

现在大多数数据库都返回一个类似于“2011-03-11 20:00:00”的日期字符串。

最简单的方法(在cpu使用方面并不总是最便宜)是:

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