PHP添加天数

时间:2013-11-24 01:15:27

标签: php datetime timestamp

好吧,所以我正在开发许可系统,而且我对使用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格式创建时间戳。

非常感谢任何帮助/建议。 我也试过了,

  • date_modify(...)

3 个答案:

答案 0 :(得分:2)

使用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'))

答案 1 :(得分:2)

另一个单行,使用Carbon

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

答案 2 :(得分:0)

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

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

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