Php Laravel 7-在数据表中显示错误的日期时间

Php Laravel 7-在数据表中显示错误的日期时间,php,laravel,laravel-7,Php,Laravel,Laravel 7,在数据库中,我将日期存储在为存储日志创建的字段中。问题是数据库中的日期与datatable中显示的日期不同 以下是数据库行的屏幕截图: 并生成显示的数据表: 数据库中的时区对于波兰+2H看起来是正确的: 此外,添加到数据库中的每个新内容都会显示正确的日期。拉威尔的时区设置为欧洲/华沙,这是正确的。日期格式在日志模型中转换为首选格式: class StorageLog extends Model { protected $table = "storage_logs"

在数据库中,我将日期存储在为存储日志创建的字段中。问题是数据库中的日期与datatable中显示的日期不同

以下是数据库行的屏幕截图:

并生成显示的数据表:

数据库中的时区对于波兰+2H看起来是正确的:

此外,添加到数据库中的每个新内容都会显示正确的日期。拉威尔的时区设置为欧洲/华沙,这是正确的。日期格式在日志模型中转换为首选格式:

class StorageLog extends Model
{
    protected $table = "storage_logs";
    public $timestamps = true;

    protected $casts = [
        'created_at' => 'datetime:Y-m-d H:i:s',
    ];
}
以下是调用数据库并返回数据的代码:

 $logs = StorageLog::select('id', 'id_storage_product', 'id_user', 'log', 'created_at')
 $result = $logs->orderBy('id', 'DESC')->paginate(20, ['*'], 'page', 1);
使用DD函数的结果:

非常感谢您对这个问题的帮助。
祝你今天愉快

进入
config/app.php
并检查您的时区:

/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/

'timezone' => 'Europe/Berlin',
默认情况下,时区设置为UTC,如果要使用Laravel存储正确的时间,则需要设置正确的时区


还有一件事。。。这段时间将从运行Laravel的操作系统中提取。因此,首先正确设置,然后在Laravel中。

可能是,Carbon将时间戳更新为UTC,并将集合设置为您在配置中设置的时区。MySql日期时间设置错误?Laravel配置中的时区设置正确,我也在Laravel tinker中的php date()中检查了它,Linux服务器-所有内容都显示正确的时间和时区。某些因素影响了“created_at”字段-我已将别名添加到查询中,它正确地显示了日期时间。奇怪,但问题解决了。谢谢你的帮助。@Marek这里的别名是什么,请你澄清一下好吗?