列出本月或拉拉韦尔每个月的所有日子

时间:2019-01-28 07:03:00

标签: php html laravel date laravel-5

如何列出该月的所有日子?我需要从2019年1月1日至2019年1月31日列出。我如何在表格中列出那几天?

目前,我有这个:

<table class="table">
    <thead>
        <tr>
            <th>DATE TODAY</th>
            <th>TIME IN</th>
            <th>TIME OUT</th>
            <th>ACTION</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><b><?php  echo date("F-d-Y");  ?></b></td>
            <!---Date Hidden-->  <input type="hidden" name="dateToday" value='<?php echo date("F-d-Y") ?>'>
            <td><input type="time" name="timeIn" class="form-control col-md-10"></td>
            <td><input type="time" name="timeOut" class="form-control col-md-10"></td>
            <td> {{Form::button('<i class="fa fa-clock">&nbsp;&nbsp;SET TIME</i>',['type' => 'submit','class' => 'btn btn-warning btn-sm',  'style'=>"display: inline-block;"])}}</td>     
        </tr>
    </tbody>
</table>  

就目前而言,当前代码的输出只是每天更新的单个日期,如何列出该月的所有日期?还是二月?

我的预期输出是列出本月的所有日子。还有另一个月。

1 个答案:

答案 0 :(得分:5)

由于您正在使用Laravel,因此应该可以使用Carbon

因此,以下情况将使您成为可能。

@php
    $today = today(); 
    $dates = []; 

    for($i=1; $i < $today->daysInMonth + 1; ++$i) {
        $dates[] = \Carbon\Carbon::createFromDate($today->year, $today->month, $i)->format('F-d-Y');
    }
@endphp

<table class="table">
    <thead>
        <tr>
        <th>DATE TODAY</th>
        <th>TIME IN</th>
        <th>TIME OUT</th>
        <th>ACTION</th>
        </tr>
    </thead>
    <tbody>
        foreach($dates as $date)
            <tr>
                <td><b>{{ $date }}</b></td>
                <input type="hidden" name="dateToday" value="{{ $date }}">
                <td><input type="time" name="timeIn" class="form-control col-md-10"></td>
                <td><input type="time" name="timeOut" class="form-control col-md-10"></td>
                <td> {{Form::button('<i class="fa fa-clock">&nbsp;&nbsp;SET TIME</i>',['type' => 'submit','class' => 'btn btn-warning btn-sm',  'style'=>"display: inline-block;"])}}</td>
            </tr>
        @endforeach
    </tbody>
</table>

很显然,用于计算日期的逻辑可能应该移至控制器。这只是一个简单的例子。

此外,由于您使用的是Laravel,并且我假设使用Blade,因此绝对不需要使用<?php echo date("F-d-Y"); ?>

您可以改为使用{{ $variable }}