国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

orm取出的時間日期怎么格式化成2023-07-14 01:46:23 ?

akl

問題描述

orm 查詢出的時間格式為 2023-07-14T01:46:23.000000Z 怎么格式化成 2023-07-14 01:46:23呢

為此你搜索到了哪些方案及不適用的原因

這里寫搜到的方案及不適用原因
在 Laravel 框架中,你可以通過覆蓋模型的 serializeDate 方法來自定義日期序列化的格式。你提供的代碼示例正是這樣做的。

在 webman 框架中,由于它也使用了 Eloquent ORM,

  1. 首先,創(chuàng)建一個 trait,與你提供的 Laravel 代碼類似:
namespace app\common\traits;

use Carbon\CarbonInterface;
use DateTimeInterface;

trait DateFormat
{
    protected function serializeDate(DateTimeInterface $date): string
    {
        return $date->format($this->dateFormat ?: CarbonInterface::DEFAULT_TO_STRING_FORMAT);
    }
}
  1. 然后,在你的模型中使用這個 trait:
namespace app\Model;

use Illuminate\Database\Eloquent\Model;
use app\common\traits\DateFormat;

class AdminModel extends Model
{
    use DateFormat;

    // 其他代碼...
}

這樣設定無效 不知道為什么

1467 1 0
1個回答

akl

在 Eloquent 模型上使用 toArray 或 toJson 方法時,Laravel 7 將使用新的日期序列化格式。為了格式化日期以進行序列化,Laravel 將會使用 Carbon 的 toJSON 方法,該方法將生成與 ISO-8601 兼容的日期,包括時區(qū)信息及小數(shù)秒。此外,該更改提供了更好的支持,并與客戶端日期解析庫集成。

此前,日期將序列化為以下格式:2020-03-04 16:11:00 。使用新格式進行序列化的日期將顯示為:2020-03-04T20:01:00.283041Z

如果你希望繼續(xù)保持之前所用的格式,你可以重寫模型的 serializeDate 方法:

/**

  • 為數(shù)組 / JSON 序列化準備日期。
  • @param \DateTimeInterface $date
  • @return string
    */
    protected function serializeDate(DateTimeInterface $date)
    {
    return $date->format($this->dateFormat ?: 'Y-m-d H:i:s');
    }
  • 暫無評論
年代過于久遠,無法發(fā)表回答
??