模型
我有一个名为time_entries
的表,列名为time_start
。
我在上面插入Carbon::now();
。列中存储的数据为2021-08-26 09:51:37
,blade.php
显示相同的结果。
模型TimeEntry
:
namespace AppModels;
use CarbonCarbon;
use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;
class TimeEntry extends Model
{
use HasFactory;
public function user()
{
return $this->belongsTo(User::class);
}
public function getTimeStartAttribute($value)
{
return Carbon::createFromFormat('H:i:s', $value)->TimeString();
}
}
控制器:
namespace AppHttpControllersAdmin;
use AppHttpControllersController;
use AppModelsTimeEntry;
use IlluminateHttpRequest;
use IlluminateSupportFacadesAuth;
class AttendanceController extends Controller
{
public function index()
{
$data = TimeEntry::where('user_id', Auth::user()->id)->paginate(2);
return view('Admin.Attendance-History-page', compact('data'));
}
}
叶片观点:
<tbody id="table_data">
@foreach ($data as $punch)
<tr>
<td>{{ $punch->user->name }}</td>
<td>{{ $punch->user->employee_id }}</td>
<td>19 Feb 2019</td>
<td>{{ $punch->time_start }} </td>
<td>{{ $punch->time_end }}</td>
<td>9 hrs</td>
<td>
<span class="badge bg-inverse-success">Perfect</span>
</td>
<td>0</td>
</tr>
@endforeach
</tbody>
我想知道如何将2021-08-26 09:51:37
的输出格式设置为Blade中的09:51:AM
?
谢谢你的帮助。
使用PHPdate()
方法有一个直接的解决方案。
{{ date('h:m A', strtotime($punch->time_start)) }}
将输出09:51 AM
如果你想输出09:51:AM
,那么只需在m
之后添加:
并删除空格,如下所示:
{{ date('h:m:A', strtotime($punch->time_start)) }}