我使用以下代码生成下一个日期:
$s1=date('d/M/Y', strtotime('+1 day'));
echo $s1;
例如:假设当前日期是2014年8月26日。 所以上面的代码生成27 / Aug / 2014并存储在varible $ s1中。
通过使用变量s1,我想创建28 / Aug / 2014。如何创作?
我不想在STRTOTIME功能中使用'+2天'。我想基于变量$ s1生成第二天。
答案 0 :(得分:2)
您可以使用strtotime()
完成所有操作,但是您必须记住,当strtotime
看到/
正斜杠作为分隔符时,/
会采用美国日期格式。
因此,在使用$ s1之前,您需要将-
转换为$s1=date('d/M/Y', strtotime('+1 day'));
echo $s1.PHP_EOL;
// change date format as strtotime assumes USA dates
$date = strtotime( '+1 day', strtotime( str_replace('/','-',$s1) ) );
echo date('d/M/Y', $date);
,以便假定正在使用合理的数据格式。
27/Aug/2014
28/Aug/2014
在2014年8月26日运行时,结果将是
{{1}}
答案 1 :(得分:1)
最好的方式(使用strtotime
):
$tomorrow = strtotime('+1 day');
$twoDaysHence = strtotime('+1 day', $tomorrow);
echo date('d/M/Y', $tomorrow);
echo date('d/M/Y', $twoDaysHence);
换句话说,将日期变量保留为strtotime
返回的UNIX时间戳形式,直到您需要显示它们为止。因为您可以使用此格式直接进行计算。将格式化为日期字符串后,您必须先将它们转换回可延展的形式。 strtotime
并不会自动识别格式d/M/Y
,因此这样做会更加困难。在这种情况下你应该使用DateTime
:
$tomorrow = date('d/M/Y', strtotime('+1 day'));
$timestamp = DateTime::createFromFormat('d/M/Y', $tomorrow);
$timestamp->modify('+1 day');
echo $timestamp->format('d/M/Y');
答案 2 :(得分:0)
$s1=date('d/M/Y', strtotime('+1 day'));
echo $s1; echo "<br/>";
$date = strtotime(strtotime($s1). ' + 2 days');
$s2 = date('d/M/Y', $date);
echo $s2;
现在已经编辑过!!检查一下!
答案 3 :(得分:0)
您可以使用以下内容:
$newvariable = strtotime ('+2 day' , $s1);
答案 4 :(得分:0)
这是一个非常简单的部分
$ s1 =日期(&#39; d / M / Y&#39;,strtotime(&#39; +2天&#39;));
echo $ s1;
如果你想要,那么在另一个变量
中复制$ s1的值答案 5 :(得分:0)
function date_addDate($text, $da=0, $ma=0, $ya=0, $ha=0)
{
$h=date('H',strtotime($text));
$d=date('d',strtotime($text));
$m=date('m',strtotime($text));
$y=date('Y',strtotime($text));
$fromTime =date("Y-m-d H:i:s", mktime($h+$ha, 0, 0, $m+$ma, $d+$da, $y+$ya));
return $fromTime;
}
$date = date("Y-m-d H:i:s");
// $da days
// $ma months
// $ya years
// $ha hours
echo date_addDate($date, $da=0, $ma=0, $ya=0, $ha=0);
//输出:当前日期
echo date_addDate($date, $da=2, $ma=0, $ya=0, $ha=0);
// out put:如你所愿 试试这个
答案 6 :(得分:0)
如何使用DateTime?
$d1 = new DateTime(date('Y-m-d'));
$d1->format('d/m/Y'); // 26/08/2014
$d1->modify('+1 day');
$d1->format('d/m/Y'); // 27/08/2014