php Laravel上的格式化时间

4uqofj5v  于 2023-05-05  发布在  PHP
关注(0)|答案(6)|浏览(218)

我想知道如何恢复格式时间在我的表格好吗?例如start_time =〉20:00和end_time 22:00。
在我的餐桌课程里我有这个

public function up()
    {
        Schema::create('course', function (Blueprint $table) {
            $table->increments('id');
            $table->date('date_seance');
            $table->time('start_time');
            $table->time('end_time');
            $table->timestamps();
        });
    }

然后,在我的模特课程上我有这个

class Course extends Model
{
    //
    protected $dates = ['date_seance', 'start_time', 'end_time'];
}

在我的view index.blade

@foreach($course as $item)
<tr>
   <td> {{$item->date_seance->format('d/m/Y') }}</td>
   <td> {{$item->start_time}}</td>
   <td> {{$item->end_time}}</td>

谢谢你的帮助。

cnjp1d6j

cnjp1d6j1#

使用MutatorAccessors
1.一个Mutator setStartTimeAttribute来保存数据库中的时间
1.一个访问器getStartTimeAttribute,以所需格式显示它,即h:i or H:i

public function setStartDateAttribute($value)
{
    $this->attributes['start_time'] = Carbon::parse($value)->format('H:i');
}
public function getStartDateAttribute()
{
     return Carbon::parse($this->attributes['start_time'])->format('H:i');
}

现在您可以访问格式化的时间为$object->start_time,即20:00

njthzxwz

njthzxwz2#

我不认为你可以在date中使用'start_time''end_time',因为它们不是。

class Course extends Model
{
    protected $dates = ['date_seance'];
}

那就用

<td> {{$item->date_seance->format('d/m/Y') }}</td>
<td> {{date('H:i', strtotime($item->start_time)) }}</td>
<td> {{date('H:i', strtotime($item->end_time)) }}</td>
rqmkfv5c

rqmkfv5c3#

列的类型是Carbon类的示例,试试这个:

<td> {{$item->date_seance->toDateString() }}</td>
u1ehiz5o

u1ehiz5o4#

尝试下面的格式你已经存储在时间,所以没有必要转换在strtotime

<td> {{date('H:i', $item->start_time) }}</td>
vnjpjtjt

vnjpjtjt5#

我知道它很旧了,但为什么不试着在模型上打个石膏呢?类似于:

class Course extends Model
{
    protected $casts = [
        'date_seance' => 'datetime:d/m/Y',
        'start_time'  => 'datetime:H:i',
        'toend_time' => 'datetime:H:i',
    ];
}

如果你需要更多的cast类型,请查看这里的文档:https://laravel.com/docs/10.x/eloquent-mutators#attribute-casting

pvabu6sv

pvabu6sv6#

你应该试试这个:

<td> {{date('d/m/Y H:i', strtotime($item->date_seance)) }}</td>

相关问题