在 Date() 上遇到的格式不正确的数值


A non well formed numeric value encountered on Date()

StackOverflow有很多关于"遇到格式不正确的数值"的问题,但没有一个似乎与我的情况大致相同。

我有一个运行 PHP 5.3.6-6~dotdeb.1 的服务器,当遇到这一行时会抛出上述错误:

$date = date("Y-m-d H:i:s", "2016-02-05 12:03:00");

这是一条以前有效的简单线路,但现在不起作用。这是怎么回事?

当我使用此行时没有错误:

$date = date("Y-m-d H:i:s", strtotime("2016-02-05 12:03:00"));

date的第二个参数应该是 UNIX 时间戳整数"2016-02-05 12:03:00"是一个字符串,而不是一个int,更肯定不是UNIX时间戳。

要将人类可读的日期格式转换为 UNIX 时间戳,请通过 strtotime 运行它。要将 UNIX 时间戳转换为人类可读的日期,请使用 date 进行格式化。