遇到非格式的数值


A non well formed numeric value encountered

我正在做一个项目,我需要匹配两个日期。一个存储在数据库中,另一个是当前日期时间。我决定为此使用unix时间戳。我将把这两个值转换为unix时间戳,然后进行比较。

我使用下面的代码来生成unix时间戳,但是它给了我以下错误:-遇到非格式数值

我已经问了六个关于堆栈溢出的问题,但是没有一个对我有帮助。

$date =date("Y-m-d H:i:s A");
echo mktime($date);

您正在使用错误的功能,您不想使用mktime而是strtotime

$date =date("Y-m-d H:i:s A");
echo strtotime($date);

但是你传递的日期格式目前不被PHP支持。你必须放弃A (PMAM)。

删除AM/PM:

echo strtotime(substr($date, 0, -2));

如果要生成当前unix时间,只需使用不带参数的mktime()。查看http://php.net/manual/en/function.mktime.php