PHP日期从今天到4个月

时间:2016-08-09 16:24:35

标签: php date strtotime

有谁知道为什么这会继续显示日期01-05-70?

$effectiveDate = strtotime("+4 months", strtotime($effectiveDate)); // returns timestamp
echo date('d-m-y',$effectiveDate); // formatted version

我希望它打印今天的日期+4个月。

3 个答案:

答案 0 :(得分:2)

在您的代码$effectiveDate中包含无效日期。所以strtotime()返回1970年1月1日的unix纪元。

但如果你想要的只是从现在起四个月后的日期,你就不应该需要那个变量。

echo date('d-m-y',strtotime('+4 months'));

答案 1 :(得分:0)

$today = date('d-m-y');
$monthsFour = date('d-m-y',strtotime("+4 months"));
echo $today;
echo "<br>";
echo $monthsFour;

您的评论中的问题:Do you know how I express the year as 2016 as opposed to 16? 将日期函数中的y替换为大写Y

<强>编辑:

$today = date('d-m-Y');
$monthsFour = date('d-m-Y',strtotime("+4 months"));
echo $today;
echo "<br>";
echo $monthsFour;

答案 2 :(得分:0)

  

有谁知道为什么这会继续显示日期01-05-70?

$effectiveDate可能包含无效的时间戳,我更喜欢使用DateTime类,即:

$d1 = DateTime::createFromFormat('d-m-Y', '09-08-2016');
$d1->add(new DateInterval('P4M'));
echo $d1->format('d-m-Y');

Demo