php - 在 Laravel 中列出本月或每个月的所有日期

标签 php html laravel date laravel-5

如何列出这个月的所有日期?我需要列出从 2019 年 1 月 1 日到 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>  

目前,我当前代码的输出只是一个每天更新的日期,我如何列出这个月的所有日期?还是 2 月?

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

最佳答案

由于您使用的是 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>

显然,计算日期的逻辑可能应该移至 Controller 。这只是一个简单的例子。

此外,由于您使用的是 Laravel,而我假设是 Blade,因此绝对没有必要使用 <?php echo date("F-d-Y"); ?> .

你可以只使用{{ $variable }}相反。

关于php - 在 Laravel 中列出本月或每个月的所有日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54396986/

相关文章:

laravel - vue-loader 15 与 laravel-mix

php - 无法运行 PHPUnit,因为它说 "PHPUnit requires PHP 5.6",但我安装了 4.2

laravel - 如何对 Laravel 5.7 "email verification"电子邮件发送进行排队

php - 在 wordpress 中返回 true 和 false 的 Ajax 函数问题

php - 将android中的搜索界面链接到php搜索页面

html - CSS Chrome 在使用位置 : fixed; 时不更新中心位置

javascript - 对于每个元素,迭代其他元素的列表。元素没有兄弟/父关系

php - 更新后强制浏览器重新加载CSS

php - 如何像这样在数组中创建时间范围步长 - PHP

javascript - 制作下一个和上一个按钮,以显示敌人的名字和马力,但隐藏伤害