遇到格式不正确的数值,但所有数字


A non well formed numeric value encountered, but all numbers

我正在尝试将 28 天添加到日期并不断收到以下错误:

消息:遇到格式不正确的数值

我的代码是:

    $expirationDate = 1396885780;
    $entryDate = 1396885780;
    if ($expirationDate) {
        $expiration = time(strtotime($expirationDate, '+28 day'));          
    } else {
        $expiration = time(strtotime($entryDate, '+28 day'));           
    }

所以基本上我正在传递一个 %U 格式的日期(我认为这是通用的)并希望为其添加 28 天。

任何人都可以在这里看到问题吗?

调用

strtotime() 时的参数 2

该函数希望得到一个包含英文日期的字符串 格式,并将尝试将该格式解析为 Unix 时间戳( 自 1970 年 1 月 1 日 00:00:00 UTC 以来的秒数,相对于 现在给出的时间戳,如果未提供现在,则为当前时间。

然后不需要调用 time() 来尝试将其转换为时间戳,因为 strtotime() 已经返回了一个时间戳

$expirationDate = 1396885780;
$entryDate = 1396885780;
if ($expirationDate) {
    $expiration = strtotime('+28 day', $expirationDate);
} else {
    $expiration = strtotime('+28 day', $entryDate);
}