我正在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');
}
但这给了我错误的输出。 它给我的结束日期与开始日期相同。 你能帮忙吗? 感谢
答案 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 )));