Php 将时间戳更改为下一个月,并保持日期不变

Php 将时间戳更改为下一个月,并保持日期不变,php,datetime,Php,Datetime,如果保存在表s 14032224000(即2014年6月19日)中的日期(m/d/y格式),我想更改保存在数据库中的我的日期 我想把这个月改到下个月(8月不是7月,因为7月已经完成),但想保持日期不变。 我试过使用 $NextPaymentDate=strtotime(“+1个月”,“140322240”) 我尝试过使用它,但它会在时间戳上增加一个月,但可能已经添加的一个月已经完成,所以我想添加下一个月和日期 有人能帮我吗?下个月怎么过 -------------------更新代码------

如果保存在表s 14032224000(即2014年6月19日)中的日期(m/d/y格式),我想更改保存在数据库中的我的日期

我想把这个月改到下个月(8月不是7月,因为7月已经完成),但想保持日期不变。 我试过使用

$NextPaymentDate=strtotime(“+1个月”,“140322240”)

我尝试过使用它,但它会在时间戳上增加一个月,但可能已经添加的一个月已经完成,所以我想添加下一个月和日期

有人能帮我吗?下个月怎么过

-------------------更新代码---------------


首先将int格式转换为date格式。。。利用

$new=date('Y-m-d',1403222400);
    $date = new DATETIME($new);
    $NextPaymentDate = $date->modify("+1 month");
    $n =date("m");
    $NextPaymentDate = $date->format("Y-".$n."-d");
    $today = date("Y-m-d");
    if(strtotime($today) > strtotime($NextPaymentDate))
    {
        $new_date = new DATETIME($NextPaymentDate);
        $NextPaymentDate = $new_date->modify("+1 month");
        $NextPaymentDate = $new_date->format("Y-m-d");
    }

希望这会有所帮助:)

你所说的完成是什么意思?你是说如果是1月30日,你想直接跳到3月30日,因为没有2月30日?P5Coder completed是指今年已经过去的月份@markBaker是的。。如果是1月18日,而本月是8月18日,但8月18日已经过去了,那么它不应该是18个月,因为使用$NextPaymentDate=STROTTIME(“+1个月,$new”)$新的应该是时间戳,而不是日期格式1403222400=06/19/2014(M/d/y),您的函数返回2014年7月19日,但7月已经完成,8月19日也已经过去。在这种情况下,应该显示2014年9月19日是。。如果我们有6月18日,那么我们将如何检查当前月份和日期,并将其更新到9月18日,因为8月18日已经确定是否符合您的要求?如果符合您的要求,您能否将此标记为答案:)
$new=date('Y-m-d',1403222400);
    $date = new DATETIME($new);
    $NextPaymentDate = $date->modify("+1 month");
    $n =date("m");
    $NextPaymentDate = $date->format("Y-".$n."-d");
    $today = date("Y-m-d");
    if(strtotime($today) > strtotime($NextPaymentDate))
    {
        $new_date = new DATETIME($NextPaymentDate);
        $NextPaymentDate = $new_date->modify("+1 month");
        $NextPaymentDate = $new_date->format("Y-m-d");
    }