在PHP中为时间戳添加月份


Adding months to timestamp in PHP

        $bought_months = 6;
        $currentDate = date('Y-m-d');
        $expiring = strtotime('+'.$bought_months.' month', $currentDate); 

这就是我所尝试的。

我正试图从今天开始获得6个月的unix时间戳值。

我如何添加月到我的unix时间戳对吗?我在上面尝试过,因为我的另一个想法-以秒为单位计算一个月:2 629 743.83 *多少个月+当前时间戳,将不精确。

(当然因为每个月的天数不同)

对于上面的代码,我得到"遇到一个非格式的数值"。

我该怎么做?

由于使用的是当前时间戳,因此可以完全省略$currentDate变量,这样也会使通知消失。

    $bought_months = 6;
    $expiring = strtotime('+'.$bought_months.' month'); 

要使日期正确,您需要使用如下命令:

mktime( 0, 0, 0, ( $month + 6 ), $day, $year );

为了最大限度地兼容2038年后的日期,请使用php内置的DateTime类:

$d = new DateTime();
$d->modify("+6 months");
echo $d->format("U");