4 回答

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊
在Laravel 7之前,日期將被序列化為如下格式:
2019-12-02 20:01:00
但是,在 Eloquent 模型上使用toArray或toJson方法時(shí), Laravel 7使用新的日期序列化格式,采用ISO-8601日期格式。此ISO-8601日期始終以UTC表示,如下所示:
2019-12-02T20:01:00.283041Z
如果您想繼續(xù)使用以前的行為,您可以重寫模型上的serializeDate()方法,并將其添加到您的模型中:
use DateTimeInterface;
protected function serializeDate(DateTimeInterface $date)
{
return $date->format('Y-m-d H:i:s');
}

TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊
首先將列定義為模型上的 $dates 屬性:
$dates=['date']
然后通過訪問器指定您的日期格式:
public function getDateAttribute($value){
return $val->format('d/m/Y');
}

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
它正在刪除一天并嘗試在前一天晚上 11 點(diǎn)進(jìn)行格式化
這顯然是時(shí)區(qū)轉(zhuǎn)換(您可能處于 GMT+1),而這是向 GMT+0 (UTC) 的轉(zhuǎn)換。
您不應(yīng)該修剪時(shí)間來強(qiáng)制“00:00:00”,因?yàn)檫@僅在 1 個(gè)時(shí)區(qū)有效(沒有全球午夜時(shí)刻,每天每個(gè)時(shí)區(qū)都有不同的午夜時(shí)刻),而您的應(yīng)用程序現(xiàn)在或稍后可以處理多個(gè)時(shí)區(qū)。您應(yīng)該將時(shí)區(qū)(例如“歐洲/倫敦”)保存在其他數(shù)據(jù)庫列中,這樣您就可以保留完整的信息,并且在檢索日期時(shí),您可以動(dòng)態(tài)計(jì)算該日期(之前)的午夜 -根據(jù)用戶時(shí)區(qū)的時(shí)間。

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
public function getDateAttribute($value){
// return 2020-08-17
$date = date('Y-m-d',strtotime($value));
return $date;
}
確保配置文件。您會(huì)發(fā)現(xiàn)有一個(gè)當(dāng)?shù)貢r(shí)間函數(shù),可以將其值從 UTC 更改為您所在國家/地區(qū)的當(dāng)?shù)貢r(shí)間
配置/應(yīng)用程序.php
'timezone' => 'Asia/Riyadh',
- 4 回答
- 0 關(guān)注
- 234 瀏覽
添加回答
舉報(bào)