如何列出该月的所有日子?我需要从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"> SET TIME</i>',['type' => 'submit','class' => 'btn btn-warning btn-sm', 'style'=>"display: inline-block;"])}}</td>
</tr>
</tbody>
</table>
就目前而言,当前代码的输出只是每天更新的单个日期,如何列出该月的所有日期?还是二月?
我的预期输出是列出本月的所有日子。还有另一个月。
答案 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"> 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 }}
。