我面临一个关于在日期中添加日期的奇怪问题。
$date='2015-06-27';
echo date('Y-m-d',strtotime($date. '+ 1 days'));
它应输出2015-06-28,但它实际输出1970-01-01。 奇怪的是,如果我这样写它是有效的:
echo date('Y-m-d',strtotime('2015-06-27 + 1 days'));
UPDATE: $ date取自数据库,如下所示:
$arr = explode(" ", $row_cal['StartTime'], 2);
$date= $arr[0];
在输出时它会显示它所显示的内容。我不知道这是否有问题。$ row_cal [' StartTime']是2015-06-27 00:00:00
答案 0 :(得分:1)
space
可能是date
和+
之间的问题。
$date = '2015-06-27';
echo date('Y-m-d',strtotime($date. ' + 1 days'));
<强>输出强>
2015-06-28
您也可以尝试使用 -
echo date('Y-m-d',strtotime('+ 1 days', strtotime($date)));
<强>更新强>
echo date('Y-m-d',strtotime('+ 1 days', strtotime($row_cal['StartTime'])));
该格式无需explode
。 PHP将负责这一点。
答案 1 :(得分:1)
除了b0s3的建议外,如果您使用的是PHP&gt;,则可以使用\DateTime
课程。 5.2
$date = new \DateTime('2015-06-27');
$date->modify('+1 days');
,其中
echo $date->format('Y-m-d');
为您提供2015-06-28
,我认为这是您想要的结果。