我的网站有一个用户系统。我需要做一些事情,使今天的日期增加 30 天。
更新:我决定使用整数而不是日期。
这就是我所做的。我进行了设置,以便当有人支付账单时,它将他们的“天”值设置为(值)+ 30
我做了一个 cron 工作,从每个用户的“天”中抽出 1 天。显然,我将 cron 作业设置为每天运行一次。
我的网站有一个用户系统。我需要做一些事情,使今天的日期增加 30 天。
更新:我决定使用整数而不是日期。
这就是我所做的。我进行了设置,以便当有人支付账单时,它将他们的“天”值设置为(值)+ 30
我做了一个 cron 工作,从每个用户的“天”中抽出 1 天。显然,我将 cron 作业设置为每天运行一次。
使用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";
?>
首先你可以像这样添加日期
$iSecsInDay = 86400;
$iTotalDays = 30;
$user_signup = time() + ($iSecsInDays * $iTotalDays);
然后你可以使用时间戳以任何你想要的方式生成日期,比如
$date = date('d-m-Y', $user_signup);
完整的参考可以在这里找到。http://php.net/manual/en/function.date.php
使用strtotime函数。
strtotime('+30 days', time());
如果您想将 +30 天添加到实际日期并在 mysql 中引入,您可以使用:
$nextMonthDate = date("Ymd H:i:s", strtotime("+30 days",time()));
Ymd H:i:s 是 MySQL DATETIME 的格式。
例子:
实际日期:echo echo date("Ymd H:i:s",time()); --> 2013-03-08 00:37:23
+30 天: echo date("Ymd H:i:s", strtotime("+30 days",time())); --> 2013-04-07 00:37:23
$NewDate=Date('y:m:d', strtotime("+30 days"));
int strtotime ( string $time [, int $now = time() ] )
该函数期望得到一个包含英文日期格式的字符串,并将尝试将该格式解析为 Unix 时间戳(自 1970 年 1 月 1 日 00:00:00 UTC 以来的秒数),相对于现在给出的时间戳,或如果没有提供现在的当前时间。
您不能将函数直接分配给类的变量。这就是您收到附加错误的原因。考虑将其移至您的构造函数。
...
private $user_signup = null;
public function __construct() {
$date = new DateTime();
$date->add(new DateInterval('P30D'));
$this->user_signup = $date->format('Y-m-d');
}
...
另请参阅将函数的结果分配给 PHP 类中的变量?OOP 怪异以获取更多信息。