我如何将列时间属性更改为AM和PM的刀片视图?



我有一个名为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)) }}

最新更新