我有一个例如日期:2014-06-19,我需要一个循环,它会增加6个月,直到它比今天更大?
我该怎么做?
由于
答案 0 :(得分:1)
简单while
循环:
$today = new DateTime('today');
$input = new DateTime('2014-06-19');
while ($today > $input) {
$input->modify('+6 months');
}
echo $input->format('Y-m-d'); // 2016-12-19
答案 1 :(得分:0)
使用DateTime
和DateInterval
个对象的解决方案:
$input_date = new \DateTime("2014-06-19");
$six_months = new \DateInterval("P6M");
$now = new \DateTime();
$limit = (new \DateTime())->sub($six_months);
while ($input_date < $now && $input_date <= $limit) {
$input_date->add($six_months);
}
print_r($input_date->format("Y-m-d")); // 2016-06-19
答案 2 :(得分:-1)
<?php
echo date( "Y-m-d", strtotime( "2009-01-31 +1 month" ) ); // PHP: 2009-03-03
echo date( "Y-m-d", strtotime( "2009-01-31 +2 month" ) ); // PHP: 2009-03-31
?>
答案 3 :(得分:-1)
$datetime = new DateTime();
$datetime->modify('+6 months');
echo $datetime->format('d');
或
$datetime = new DateTime();
$datetime->add(new DateInterval('P6M'));
echo $datetime->format('d');
或PHP版本5.4 +
echo (new DateTime())->add(new DateInterval('P6M'))->format('d');