Php 将datestring从请求转换为MySQL兼容的日期格式
我正在从Ajax调用中获取一个字符串形式的日期: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 =
“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
makeCarbon::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