Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将datestring从请求转换为MySQL兼容的日期格式_Php_Ajax_Date_Request_Php Carbon - Fatal编程技术网

Php 将datestring从请求转换为MySQL兼容的日期格式

Php 将datestring从请求转换为MySQL兼容的日期格式,php,ajax,date,request,php-carbon,Php,Ajax,Date,Request,Php Carbon,我正在从Ajax调用中获取一个字符串形式的日期:“Wed Jun 17 2020 09:26:45 GMT+0200(Mitteleurop\u00e4ische Sommerzeit)”并尝试将其格式化为“Y-m-d H:I:s”,但失败。我试过了 $my = $request->input('date'); $date = Carbon::parse($my); $date = date("Y-m-d H:i:s", strtotime($my)); $date =

我正在从Ajax调用中获取一个字符串形式的日期:
“Wed Jun 17 2020 09:26:45 GMT+0200(Mitteleurop\u00e4ische Sommerzeit)”
并尝试将其格式化为
“Y-m-d H:I:s”
,但失败。我试过了

$my = $request->input('date');
$date = Carbon::parse($my);
$date = date("Y-m-d H:i:s", strtotime($my));
$date = Carbon::createFromFormat('Y-m-d H:i:s', $my);
$date = Carbon::create(my);

但什么都没用。碳工程和
$request->input('date')
存在。这里的问题是什么?

由于PHP不会用所有可能的语言处理所有可能的时区,
Mitteleurop\u00e4ische Sommerzeit
make
Carbon::parse
但是
GMT+0200
对于一个特定时刻的时区就足够了,因此您可以删除额外的时区:

$my = $request->input('date');
$my = preg_replace('/\s*\(.*\)$/', '', $my);
$date = Carbon::parse($my);
$date = date("Y-m-d H:i:s", strtotime($my));
$date = Carbon::createFromFormat('Y-m-d H:i:s', $my);
$date = Carbon::create(my);
你还是应该考虑这是一项工作。正确的方法是使用ISO字符串(GMT时区)发送日期,如果时区重要,则在另一个字段中发送干净的时区,如
Europe/Berlin