我需要帮助使用PHP在今天的日期添加30天

时间:2013-03-08 07:45:02

标签: php

我的网站有一个用户系统。我需要制作一些东西,在今天的日期增加30天。

更新: 我决定使用整数代替日期。

这就是我的所作所为。我进行了设置,以便当有人支付账单时,它将“天”值设置为(值)+ 30

我做了一个cron工作,从每个用户的“Days”中夺走了1天。 显然,我将cron作业设置为每天运行一次。

6 个答案:

答案 0 :(得分:8)

使用strtotimedate,如下所示。

echo date('Y-m-d', strtotime("+30 days"));

<?php
   echo date('Y-m-d h:i:s')."\n";

   echo date('Y-m-d h:i:s', mktime(date('h'),date('i'),date('s'),date('m'),date('d')+30,date('Y')))."\n";

?>

答案 1 :(得分:2)

使用strtotime功能。

strtotime('+30 days', time());

答案 2 :(得分:2)

首先你可以像这样添加日期

$iSecsInDay = 86400;
$iTotalDays = 30;
$user_signup = time() + ($iSecsInDays * $iTotalDays);

然后您可以使用时间戳以您想要的任何方式生成日期,例如

$date = date('d-m-Y', $user_signup);

可在此处找到完整参考资料。 http://php.net/manual/en/function.date.php

答案 3 :(得分:1)

$NewDate=Date('y:m:d', strtotime("+30 days"));

strtodate()

int strtotime ( string $time [, int $now = time() ] )

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

答案 4 :(得分:1)

如果您想在实际日期添加+30天并在mysql中引入,您可以使用:

$ nextMonthDate = date(“Y-m-d H:i:s”,strtotime(“+ 30天”,time()));

Y-m-d H:i:s是MySQL DATETIME的格式。

示例:

实际日期: 回声日期(“Y-m-d H:i:s”,time()); - &GT; 2013-03-08 00:37:23

+30天:回音日期(“Y-m-d H:i:s”,strtotime(“+ 30天”,时间())); - &GT; 2013-04-07 00:37:23

答案 5 :(得分:0)

您无法将函数直接分配给类的变量。这就是您收到其他错误的原因。考虑将其移至构造函数。

... 
private $user_signup = null;

public function __construct() {
    $date = new DateTime();
    $date->add(new DateInterval('P30D'));
    $this->user_signup = $date->format('Y-m-d');
}
...

另请参阅Assigning a function's result to a variable within a PHP class? OOP Weirdness了解详情。