所以问题是,我有一个laravel vue项目,这两个项目都是不同的应用程序,我在'timezone'='Aisa/Kolkata'
中的apps/app.php中做了更改,因此应用程序显示我所在国家的当地时间.一切都很好,就像在向DB添加新数据时,时间戳是正确的,更新数据时,时间戳也是正确的.但是在获取数据时,时间格式更改为UTC
例如:- 2023-12-15 15:36:11
this is created_at字段和它的正确格式和创建时间也是正确的,但当从laravel获取它时,时间将其格式更改为this 2023-12-15T10:06:11.000000Z
.
以下是我的带有屏幕截图的代码示例:
这里,Created_at字段的时间戳为2023-12-15 15:36:11
,获取时间和数据的代码为
$res = AcCleaning::whereBetween('ac_cleaning_detail.created_at', [$startDate, $endDate])
->join('peon_masters as pm', 'pm.peon_id', '=', 'ac_cleaning_detail.peon_ref_id')
->join('ac_masters as am', 'am.ac_id', '=', 'ac_cleaning_detail.ac_ref_id')
->latest('ac_cleaning_detail.created_at')
->select('ac_cleaning_detail.created_at')
->get();
if (sizeof($res) > 0) {
return $this->successResponseWithData("Fetched Successfully", $res);
}
else {
return $this->errorResponseWithoutDataWithErrorCode("No Data!!", Config::get('constants.HTTP_STATUS_CODES.NO_CONTENT'));
}
当使用CREATED_AT时间戳清理AC,但在判断POSTMAN中的数据时,此代码为我提供了时间戳
{
"status": true,
"message": "Fetched Successfully",
"data": [
{
"created_at": "2023-12-15T10:06:11.000000Z"
}
]
}
格式和时间自动更改为另一个时区
下面是这个模型
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class AcCleaning extends Model
{
use HasFactory;
protected $primaryKey = 'ac_clean_id';
protected $table = 'ac_cleaning_detail';
public $fillable = ['peon_ref_id','ac_ref_id','longitude','latitude'];
public $timestamps = true;
}
我判断了许多解决方案,其中许多都建议在模型中创建另一个方法,将时间戳更改为Carbon实例,但在获取大量数据时如何调用它.
此外,为什么它会自动更改时间.我是不是错过了什么请帮帮我.
我只是希望时间戳应该被提取,因为它是存储.我用的是laravel 10,php 8.2