PHP添加日期


PHP Add Days To Date

好吧,我正在开发一个许可系统,而且我对使用PHP还很陌生。我想检索许可证密钥的天数,然后将其添加到当前日期。我的代码,

$expire = $tags['exp_time']; //EXPIRATION_DATE_DAYS
$expDate = date('Y-m-d H:i:s');
$expDate = strtotime($expDate);
$expDate = $expDate + ((24 * 60 * 60)*($expire));
$expDate = date('Y-m-d H:i:s', $expDate);

顺便说一句,我可以检索天数,它只是以DATE-TIME格式创建时间戳。

如有任何帮助/建议,我们将不胜感激。我也试过,

  • 日期差异(…)

这很容易使用DateTime()

$date = new DateTime();                  // Create datetime object representing now
$date->modify("+ $expires days");        // Add $expires days to it
$expDate = $date->format("Y-m-d H:i:s"); // Format it

如果你运行的是PHP 5.4+,你可以把它缩短为一行:

$expDate = (new DateTime())->modify("+ $expires days")->format("Y-m-d H:i:s");

仅供参考,此代码:

$expDate = date('Y-m-d H:i:s');
$expDate = strtotime($expDate);

可以写成:

$expDate = time();

time()返回当前unix时间戳,这是strtotime(date('Y-m-d H:i:s'))所做的全部操作。

另一个内衬,使用Carbon:

$expDate = Carbon::now()->addDays($expire)->toDateTimeString();

您可以使用以下代码为日期添加天数:

$ExpDate = date("Y-m-d g:i:s", strtotime("+".$expire." day", date("Y-m-d g:i:s")));

确保$expire是int类型的。此代码将返回许可证到期的日期。