Php 如果当前_时间超过记录的_时间1天

Php 如果当前_时间超过记录的_时间1天,php,mysql,datetime,Php,Mysql,Datetime,可能重复: 我正在尝试为从mysql行提取的值添加一天。 所以返回的值是 2012-10-22 22:12:13 我想成功 2012-11-22 22:12:13 并将其存储在变量中,而无需将其间隔回mysql中,然后将其直接拉出 我试过了 $end_date_add = $enddate + 0000 . "-" . 00 . "-" . 01 . " " . 00 . ":" . 00 . ":" . 00; $end_date是记录的时间,但它将时间替换为零。 我做错了吗? 非常感

可能重复:

我正在尝试为从mysql行提取的值添加一天。 所以返回的值是

2012-10-22 22:12:13
我想成功

2012-11-22 22:12:13
并将其存储在变量中,而无需将其间隔回mysql中,然后将其直接拉出

我试过了

$end_date_add = $enddate + 0000 . "-" . 00 . "-" . 01 . " " . 00 . ":" . 00 . ":" . 00;
$end_date是记录的时间,但它将时间替换为零。 我做错了吗?
非常感谢您的帮助,谢谢

添加日期

$date = date("Y-m-d"); // current date
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 day");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 week");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +2 week");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 month");
$date = strtotime(date("Y-m-d", strtotime($date)) . " +30 days");

这就是你想要的,我想

$date_old = strtotime("+1 MONTH", strtotime("2012-10-22 22:12:13"));

echo date("Y-m-d H:i:s", $date_old);

这也可以作为MYSQL查询的一部分来完成

SELECT DATE_ADD(datecol, INTERVAL 1 DAY) AS 'datecol_plus_one'
您可以使用strotime添加一个月的期间:

$date   = '2012-10-22 22:12:13';
$format = 'Y-m-d H:i:s';
echo date($format, strtotime("$date +1 MONTH"));
输出():

您还可以使用PHP的DateTime类型并添加一天的DateInterval:

$date   = '2012-10-22 22:12:13';
$format = 'Y-m-d H:i:s';
echo (new DateTime($date))->add(new DateInterval('P1M'))->format($format);
输出():

上面的代码是PHP5.4,在PHP5.3中,您可以执行以下操作:

echo date_add(new DateTime($date), new DateInterval('P1M'))->format($format);

请使用搜索。这已经被问了一千次了。谢谢。检查这是问题所在,我现在不想获取日期,我想使用文件中的日期,已经是字符串格式,并添加1天,或者特别是24小时。所以设置不同的输入,这只是一个示例啊,我看到了过程。谢谢!:)有没有关于我以后每天如何将一个变量相乘的想法?第一天的var是1,第二天,第二天,第三天,第四天,第八天,等等,你想每天乘以一个值吗?第一:您应该有一个参考开始日期。不需要调用两次。你需要使用strotime,除非你想要一个错误的结果……是的,这就是我最初试图避免做的。很公平,那么2008年9月的答案将是最好的
2012-11-22 22:12:13
echo date_add(new DateTime($date), new DateInterval('P1M'))->format($format);