我的网站有一个用户系统。我需要制作一些东西,在今天的日期增加30天。
更新: 我决定使用整数代替日期。
这就是我的所作所为。我进行了设置,以便当有人支付账单时,它将“天”值设置为(值)+ 30
我做了一个cron工作,从每个用户的“Days”中夺走了1天。 显然,我将cron作业设置为每天运行一次。
答案 0 :(得分:8)
使用strtotime
和date
,如下所示。
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"));
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了解详情。