将日期添加到日期的奇怪问题

时间:2015-06-23 08:12:19

标签: php date time

我面临一个关于在日期中添加日期的奇怪问题。

$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

2 个答案:

答案 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)));

Working Code

<强>更新

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,我认为这是您想要的结果。