Answers:
您要做的就是使用days
而不是day
这样:
<?php
$Date = "2010-09-17";
echo date('Y-m-d', strtotime($Date. ' + 1 days'));
echo date('Y-m-d', strtotime($Date. ' + 2 days'));
?>
并正确输出:
2010-09-18
2010-09-19
day
...- date("Y-m-d", strtotime('2010-09-17 + 1 day'))
> 2010-09-18
,date("Y-m-d", strtotime('2010-09-17 + 2 day'))
->2010-09-19
如果您使用的是PHP 5.3,则可以使用DateTime
对象及其add
方法:
$Date1 = '2010-09-17';
$date = new DateTime($Date1);
$date->add(new DateInterval('P1D')); // P1D means a period of 1 day
$Date2 = $date->format('Y-m-d');
查看DateInterval
构造函数手册页,以了解如何构造其他添加到日期的句点(2天为'P2D'
,3 天为'P3D'
,依此类推)。
如果没有PHP 5.3,您应该能够使用它strtotime
的方式(我已经对其进行了测试,并且在5.1.6和5.2.10中都可以使用):
$Date1 = '2010-09-17';
$Date2 = date('Y-m-d', strtotime($Date1 . " + 1 day"));
// var_dump($Date2) returns "2010-09-18"
DateTime::construct
使用与strtotime
解析日期相同的机制,因此您也可以这样做new DateTime("+1 day $date")
,不需要5.3
从PHP 5.2起,您可以对DateTime对象使用Modify:
http://php.net/manual/en/datetime.modify.php
$Date1 = '2010-09-17';
$date = new DateTime($Date1);
$date->modify('+1 day');
$Date2 = $date->format('Y-m-d');
添加月份...(在较小程度上,几年)时要小心
以下是演示日期修改的小片段:
$date = date("Y-m-d");
//increment 2 days
$mod_date = strtotime($date."+ 2 days");
echo date("Y-m-d",$mod_date) . "\n";
//decrement 2 days
$mod_date = strtotime($date."- 2 days");
echo date("Y-m-d",$mod_date) . "\n";
//increment 1 month
$mod_date = strtotime($date."+ 1 months");
echo date("Y-m-d",$mod_date) . "\n";
//increment 1 year
$mod_date = strtotime($date."+ 1 years");
echo date("Y-m-d",$mod_date) . "\n";
在天数中使用变量
$myDate = "2014-01-16";
$nDays = 16;
$newDate = strtotime($myDate . '+ '.$nDays.'days');
echo newDate('d/m/Y', $soma); //format new date
这里有一个简单的方法来解决这个问题。
<?php
$date = "2015-11-17";
echo date('Y-m-d', strtotime($date. ' + 5 days'));
?>
输出将是:
2015-11-22
从这里找到解决方案- 如何在PHP中添加日期
所有人都必须使用以下代码:
$nday = time() + ( 24 * 60 * 60);
echo 'Now: '. date('Y-m-d') ."\n";
echo 'Next Day: '. date('Y-m-d', $nday) ."\n";