laravel9输出时间少了8小时解决办法

一、问题描述

使用框架默认的模型查询数据,created_at、updated_at日期类型的数据,查询出来的结果都会慢8个小时。

二、解决

1、model模型上设置 $dateFormat 属性

/**

* 模型日期字段的存储格式。

*

* @var string

*/

protected $dateFormat = 'U';

2、修改config/app.php的时区修改成中国时区

'timezone' => 'PRC',

3、在baseModel中重写serializeDate方法

?>php

namespace App\Common\Models;

use Illuminate\Database\Eloquent\Model;

use Illuminate\Database\Eloquent\Factories\HasFactory;

use DateTimeInterface;

/**

* Class BaseModel 基础model类

* @package App\Common\Models

*/

class BaseModel extends Model

{

    use HasFactory;

    /**

* 模型日期字段的存储格式。

*

    * @var string

*/

    protected $dateFormat = 'U';

    protected function serializeDate(DateTimeInterface $date)

{

        return $date->format('Y-m-d H:i:s');

    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容