Php日期转移到下个月

时间:2018-04-24 11:09:32

标签: php

我试图编写一个对我来说有点复杂的PHP代码......

我希望在将数据发布到我的PHP文件时检查今天的日期,如果当前日期是在本月的第五天之后,则代码将在下个月的第五天回复。 喜欢:

$today = "2018-04-24";
if(today>5){
echo "2018-05-05";
}

我希望我能让自己理解。

由于

4 个答案:

答案 0 :(得分:4)

您需要正确的日期处理来处理2018-12-24等边缘情况。

$today = "2018-03-31";

$dt = DateTime::createFromFormat('Y-m-d', $today);
$d = intval($dt->format('j'));

if($d > 5) {
  $dt->setDate($dt->format('Y'), $dt->format('n'), 5);
  $dt->add(new DateInterval('P1M'));
}

echo $dt->format('Y-m-d');

答案 1 :(得分:0)

function get_month_diff($start, $end = FALSE){
$end OR $end = time();
$start = new DateTime("@$start");
$end   = new DateTime("@$end");
$diff  = $start->diff($end);
return $diff->format('%y') * 12 + $diff->format('%m');}

答案 2 :(得分:0)

你可以这样做

 $today = date('Y-m-d');
    $exploded_date = explode('-',$today);
    if($exploded_date[2] > 5){
     echo date('Y-m-05', strtotime("+1 months", strtotime($today)));
    }

答案 3 :(得分:-1)

在本月的第五天之后,代码将在下个月的第五天回响,你可以使用这个:

$effectiveDate = "2018-02-06";

if(date('d') > 5) {
       $effectiveDate = date('Y-m-d', strtotime("+5 months", strtotime($effectiveDate)));
}