如何在現有日期變數(物件?)中僅更改 fe 月份和日期?
我在資料庫中有日期型別欄位:
$table->date('start');
$table->date('end');
然后我想根據特殊情況改變刀片視圖。
@if (Carbon\Carbon::parse($date->start)->month < Carbon\Carbon::parse($date->end)->month && Carbon\Carbon::now()->month != Carbon\Carbon::parse($date->start)->month)
@php
$date->start = date('Y-m-d', '05');
@endphp
@endif
上面的代碼將日期更改為類似"1970-01-01". 年份可以保留在當前變數中,但我需要知道如何僅更改當前日期的月份和日期。
例如,如果我檢查當前日期月份不等于變數,那么我將日期更改為當前月份。
可能嗎?
uj5u.com熱心網友回復:
您可以使用 setter 和format(繼承自 的方法DateTime)來做到這一點:
$date->start = Carbon\Carbon::parse($date->start)->startOfMonth()->setMonth(5)->setDay(13)->format('Y-m-d');
但是我會警告從模板內部改變值,它應該像一個反模式。更喜歡創建一個其他變數,比如$formattedDateStart保持干凈并且您的原始資料不被修改。
或者,您可以->format()僅在需要顯示時呼叫該方法,而無需將該結果實際存盤在任何地方。
編輯:->startOfMonth()如果當前日期在所選月份不可用,則添加以避免麻煩。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/434989.html
上一篇:如何更改laravel模型中created_at和updated_at的格式?
下一篇:Laravel8:在編輯用戶之前,我首先要檢查他的角色,如果他是管理員,我會執行redirect::back否則我讓他編輯
