PHP - 在用户定义的日期添加一周

时间:2015-03-02 10:41:27

标签: php html

这个问题很可能会成为副本,但我很难为我的问题找到准确的答案。

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

$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";  

怎么会这样做呢?非常感谢。

5 个答案:

答案 0 :(得分:12)

你可以试试这个

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

答案 1 :(得分:7)

请尝试以下方法:

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

答案 2 :(得分:5)

使用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');

答案 3 :(得分:1)

$start_date = "2015/03/02";  
$new_date= date("Y/m/d", strtotime("$start_date +1 week"));

答案 4 :(得分:1)

您可以使用:

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