如何在日期中添加天数?

时间:2016-01-23 11:14:54

标签: laravel laravel-5

我的代码是这样的:

<table class="table">
    <tbody>
        <tr>
            <th>Date</th>
            <th>Charge</th>
        </tr>
        @foreach($cancel_policy_api as $key=>$value)
        <tr>
            <td>{{ $value['CheckIn'] }} + {{ $value['CXLDay'] }}</td>   
            <td>{{ $value['CXLFee'] }} </td>

        </tr>   
        @endforeach
    </tbody>
</table>
$value['CheckIn'] = '2016-01-23'
$value['CXLDay'] = '2'

我想添加CheckIn和CXLDay

所以,$value['CheckIn'] + $value['CXLDay'] = 2016-01-25

如何在laravel 5视图中添加整数/字符串和日期?

非常感谢

2 个答案:

答案 0 :(得分:4)

您可以使用strtotime()功能执行此操作,然后使用date()再次将其恢复为某个日期 - 就像这样:

$newTime = strtotime('%s +%d days'. $value['CheckIn'], $value['CXLDay']);
$newDate = date('Y-m-d', $newTime);

或者,既然您正在使用Laravel,如果这是一个Carbon对象,您可以使用它:

$newDate = $oldDate->addDays($numDays);

(后者的文档:http://carbon.nesbot.com/docs/#api-addsub

无论哪种方式,我建议您不要在视图中执行此操作,而是通过模型方法或在控制器中或在存储库中执行此操作 - 具体取决于最适合您的应用程序。

答案 1 :(得分:1)

编辑:您正在尝试将变量中包含的天数相加,请尝试使用

$mydate = '23-01-2016';
$daystosum = '2';
$datesum = date('d-m-Y', strtotime($mydate.' + '.$daystosum.' days'));