我一直试图用10:00:00
等时间格式在我的数据库中节省时间。
我想要的只是从timepicker
获取时间并在data(time)
中保存timeformat
。
这就是我所做的:
我使用了timepicker
,因为它以10:52 AM
格式获取数据。
我使用了访问器方法来节省时间,如下所示:
public function setRTimeAttribute($value)
{
$this->attributes['r_time'] = date('h:i:A', strtotime($value));
}
我的帖子控制器需要如下:
public function postSessionReservation(Request $request,$profile_slug)
{
$restaurant = Restaurant::where('slug_profile', $profile_slug)->select('name','ar_name','slug_profile','id')->firstOrFail();
$this->validate($request,[
'no_of_seats'=>'required',
'r_date'=>'required',
'r_time'=>'required',
'restaurant_id'=>'required',
]);
$data = [
'no_of_seats'=>$request->no_of_seats,
'r_date'=>$request->r_date,
'r_time'=>$request->r_time,
'restaurant_id'=>$request->restaurant_id
];
$minutes = 1;
Session::put('reservation',json_encode($data),$minutes);
return redirect($restaurant->slug_profile.'/complete-reservation');
}
但每次都会将时间节省为12:00:00
。
每当我节省时间时,我不知道12:00:00
是如何生成的。我试了很多但是想不出来。
希望你们能帮我解决这个问题。
提前致谢。
答案 0 :(得分:3)
首先在时间“10:52 AM”到“10:52 AM”之间删除空格,然后将您的行更改为此
$this->attributes['r_time'] = date("h:i", strtotime( $value ));
这肯定有助于我测试它。
例如,您可以通过
删除空格$a = '10 : 52 PM';
$x = preg_replace('/\s*:\s*/', ':', $a);
date("H:i", strtotime($x));