繁体   English   中英

Laravel Eloquent 不像数据库时区那样显示日期/时间

[英]Laravel Eloquent doesn't display date/time as in database timezone

我试图获得与 MySQL 中的数据相同的时区,但 JSON 响应的回复时间不同。 我尝试使用 Carbon,但结果始终显示相同(与我的时区不同)。 另外,我在app.php中有时区到'timezone' => 'Asia/Kuala_Lumpur' ,将数据存储为我的国家时区。

$todayentry = SensorTissue::whereDate('entryDate', Carbon::now()->setTimezone(config('app.timezone')))->get()->sortBy('entryDate');
$todayentry = json_decode($todayentry);
return $todayentry;

json 响应的结果:

[{
"tsID": 10,
"entryDate": "2020-04-04T23:57:17.000000Z",
"sensorValue": 7
},
{
"tsID": 11,
"entryDate": "2020-04-04T23:57:34.000000Z",
"sensorValue": 6
}]

响应显示2020-04-04T23:57:34.000000Z 2020-04-05 07:57:34

尝试替换以下代码行:

$todayentry = SensorTissue::whereDate('entryDate', Carbon::now()->setTimezone(config('app.timezone')))
                          ->get()->sortBy('entryDate');

使用以下代码:

$timeZone = config('app.timezone'); //change over here
$todayentry = SensorTissue::whereDate('entryDate', Carbon::now($timeZone))
                          ->get()->sortBy('entryDate');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM