PHP-为用户定义的日期增加一周


PHP - Add one week to a user defined date

这个问题很可能会有重复,但我很难找到问题的确切答案。

用户输入客户租金的开始日期(在上一页的表格上),然后需要生成客户需要支付的下一个日期(一周后)。例如:

$start_date = $_POST['start_date'];  
$date_to_pay = ???  

假设用户进入2015/03/02:

$start_date = "2015/03/02";  

然后我希望付款日期等于一周后(2015/03/09):

$date_to_pay = "2015/03/09";  

一个人会怎么做?非常感谢。

你可以试试这个

$start_date = "2015/03/02";  
$date = strtotime($start_date);
$date = strtotime("+7 day", $date);
echo date('Y/m/d', $date);

请尝试以下操作:

date('d.m.Y', strtotime('+1 week', strtotime($start_date)));

使用DateTime类的面向对象样式:

$start_date = DateTime::createFromFormat('Y/m/d', $_POST['start_date']);
$one_week = DateInterval::createFromDateString('1 week');
$start_date->add($one_week);
$date_to_pay = $start_date->format('Y/m/d');

或者对于那些喜欢一次搞定的人来说:

$date_to_pay = DateTime::createFromFormat('Y/m/d',$_POST['start_date'])
                       ->add(DateInterval::createFromDateString('1 week'))
                       ->format('Y/m/d');
$start_date = "2015/03/02";  
$new_date= date("Y/m/d", strtotime("$start_date +1 week"));

您可以使用这个:

$startdate = $_POST['start_date'];
$date_to_pay = date('Y/m/d',strtotime('+1 week',$startdate));