Php 未获取碳解析中的正确日期
我使用的是Laravel5.6,通过dx数据网格添加了一个日期,但是它给出的是一个当前日期,而不是我选择的日期 我试图更改日期格式,但在本例中,日期是正确的。第一次插入后,它给了我错误的日期,即1970-01-01Php 未获取碳解析中的正确日期,php,laravel,laravel-5.6,php-carbon,voyager,Php,Laravel,Laravel 5.6,Php Carbon,Voyager,我使用的是Laravel5.6,通过dx数据网格添加了一个日期,但是它给出的是一个当前日期,而不是我选择的日期 我试图更改日期格式,但在本例中,日期是正确的。第一次插入后,它给了我错误的日期,即1970-01-01 $grids = $request->except('_token'); $request->request->set('attendance_date', Carbon::parse($request- >attendance_date)->form
$grids = $request->except('_token');
$request->request->set('attendance_date', Carbon::parse($request-
>attendance_date)->format('Y-m-d'));
$grids=array();
$grids['name'] = $request['item']['name'];
$grids['attendance_type'] = $request['item']['attendance_type'];
$grids['dept'] = $request['item']['dept'];
$grids['user_id'] = $request['item']['user_id'];
$grids['attendance_date'] = $request->attendance_date;
$grids['attendance_month'] = $request->attendance_month;
$grids['attendance_year'] = $request->attendance_year;
$grids['org_name'] = $request->org_name;
$grids['org_id'] = $request->org_id;
dd($grids);
$requesteddate = $request->attendance_date;
$requesteduser_id = $grids['user_id'];
$attendances = DB::table('attendances')->where(['user_id' =>
$requesteduser_id])->get()->toArray();
foreach ($attendances as $key => $value) {
$dbattendance_date = $value->attendance_date;
$dbattendance_user_id = $value->user_id;
if ($dbattendance_date == $requesteddate && $dbattendance_user_id ==
$requesteduser_id) {
$insert['status'] = 'error';
$insert['message'] = 'Attendance Already Exits';
return Response()->json($insert);
}
}
$insert = Attendance::create($grids);
return Response()->json($insert);
在你的问题中有一些不相关的信息,还有一些问题我需要知道才能更准确。尽管如此,我怀疑可能会出现以下几种可能性: 可能性1 您已关闭错误报告。你可能无法获得正确日期的原因有很多,通常你会看到原因。例如,您使用$request->attention\u date可能返回空值,导致解析返回到可能的第一个UTC日期 可能性2 您正在执行$request->request->设置“考勤日期”。。。而不是$request->设置“考勤日期”。不知道为什么要这样做,但稍后当您尝试使用$request->attention\u date时,它将被设置为空值,因为它从未正确设置。同样,当错误报告/显示错误打开时,您可能会看到此问题 可能性3
请求输入中传递的日期错误。这可能是从空字符串到无效日期的任何内容。一个很好的经验法则是,如果PHP的原生strotime函数能够正确地解析它,那么Carbon也能正确地解析它。在您的问题中有一些不相关的信息,还有一些问题我需要知道才能更准确。尽管如此,我怀疑可能会出现以下几种可能性: 可能性1 您已关闭错误报告。你可能无法获得正确日期的原因有很多,通常你会看到原因。例如,您使用$request->attention\u date可能返回空值,导致解析返回到可能的第一个UTC日期 可能性2 您正在执行$request->request->设置“考勤日期”。。。而不是$request->设置“考勤日期”。不知道为什么要这样做,但稍后当您尝试使用$request->attention\u date时,它将被设置为空值,因为它从未正确设置。同样,当错误报告/显示错误打开时,您可能会看到此问题 可能性3 请求输入中传递的日期错误。这可能是从空字符串到无效日期的任何内容。一个很好的经验法则是,如果PHP的原生strotime函数能够正确解析它,那么Carbon也能正确解析它。我就是这样解决的
$newattendance_date = $request['item']['attendance_date'];
if(strpos($newattendance_date,' GMT') !== false){
$newattendance_date = substr($newattendance_date,0,strpos($newattendance_date,' GMT'));
$newattendance_date = strtotime($newattendance_date);
$newattendance_date = date('Y-m-d', $newattendance_date);
}
$attendance_date= $newattendance_date;
我就这样解决了
$newattendance_date = $request['item']['attendance_date'];
if(strpos($newattendance_date,' GMT') !== false){
$newattendance_date = substr($newattendance_date,0,strpos($newattendance_date,' GMT'));
$newattendance_date = strtotime($newattendance_date);
$newattendance_date = date('Y-m-d', $newattendance_date);
}
$attendance_date= $newattendance_date;