gpt4 book ai didi

php - 如何在 Laravel 5.8 中将日期从 "Thu Apr 11 2019 00:00:00 GMT+0200"格式化为 MySQL 格式?

转载 作者:可可西里 更新时间:2023-11-01 08:08:42 28 4
gpt4 key购买 nike

我正在为一个学校应用程序的后端工作,我在将我从“2019 年 4 月 11 日星期四 00:00:00 GMT+0200”之类的请求中获得的日期转换为 MySQL 格式(时间戳)时遇到问题.


public function getAll(Request $request){
$start = $request->input('start');
$end = $request->input('end');

// we receive some thing like:
// Thu Apr 11 2019 00:00:00 GMT+0200 (Central European Summer Time)
$sales = Sale::with('SaleLine.lens','SaleLine.cadre','cli_sale')
->whereBetween('created_a', [$start, $end])
->orderBy('id', 'desc')->get();

for ($i=0; $i < count($sales); $i++) {
$sales[$i]['client_name'] = $sales[$i]['cli_sale']['first_name'] . " " . $sales[$i]['cli_sale']['last_name'];
}
return response()->success(['sales'=>$sales]);
}

最佳答案

在我的服务器上这有效:

function gmt2mysql($gmt)
{
return date("Y-m-d H:i:s", strtotime($gmt));
}

Thu Apr 11 2019 00:00:00 GMT+0200

成为

2019-04-10 22:00:00

哪个MySQL能看懂。它是 DATETIME 类型。

请仔细检查这是否真的适合您。处理时间可能很棘手。

显然它在您的服务器上不起作用,所以我们必须更明确一点。你可以试试这个替代方案:

function gmt2mysql($gmt)
{
$date = DateTime::createFromFormat("D M j Y H:i:s ???O", $gmt);
$date->setTimezone(timezone_open('GMT'));
return $date->format('Y-m-d H:i:s');
}

这里我们假设您日期中的时区偏移量始终为格林威治标准时间。是吗?

关于php - 如何在 Laravel 5.8 中将日期从 "Thu Apr 11 2019 00:00:00 GMT+0200"格式化为 MySQL 格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55901676/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com