如果在laravel 5.3中给出开始日期和天数,如何获得结束日期

时间:2017-05-09 12:48:37

标签: php laravel

我正在laravel中编写一个函数来计算给定开始日期的结束日期而不是。天数并将其存储在数据库中。

这就是我的想法:

  public function store(Request $request)
   {
        $it = new iternary;

        $it->StartDate = Input::get("StartDate");

        $it->NoPeople = Input::get("NoPeople");

        $it->NoDays = Input::get("NoDays");

        (int)$ttemp=$it->NoDays;

        $it->budget = Input::get("budget");

        $EndDate = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d') + $it-
         >NoDays, date('Y')));

        $it->EndDate = $EndDate;

        $it->save();

        return view('success');

     }

但这给了我错误的输出。 它给我的结束日期与开始日期相同。 你能帮忙吗? 感谢

2 个答案:

答案 0 :(得分:2)

你可以这样做,

$startDate = new \Carbon\Carbon('2017-05-09')
$endDate = $startDate->addDays('10')

有关在碳中添加和减去的更多信息,请访问here

您还可以使用PHP的默认DateTime类进行修改,

$date = new DateTime('2017-05-09')
$date->modify('+ 10 days')
$date->modify('-1 month')
$date->modify('next year')
$date->modify('previous month')

等等

答案 1 :(得分:0)

我不太了解laravel中的碳日期。但是在PHP中,你可以试试这个:

$startDate = '2017-05-09';
$days = 3;
$dayStr = $days == 1 ? 'day' : 'days';

echo date('Y-m-d', strtotime('+ '.$days. ' '.$dayStr, strtotime($startDate )));

Demo