我有这个搜索功能,它获取用户输入并根据创建日期和上传日期对其进行排序。
到目前为止,我所做的是确定输入是否为M-y-d
格式,但规格改变了,因此用户可以输入字符串。然后我应该检查它是否是一个有效的日期格式,然后获取它的日期格式,以便在我的排序中使用它。
这是我当前的代码
if (DateTime::createFromFormat('M - d - Y', Input::get('searchb')) !== FALSE)
{
// it's a date
// dd('its a date');
$sampledate = 'Carbon'Carbon::createFromFormat('M - d - Y', Input::get('searchb'))->format('Y-m-d');
$srvc = $srvc->where('r.created_at' , 'LIKE' , '%'.$sampledate.'%');
if($usrRole!='Admin' || $usrRole!='Analytics-Sups')
{
$temp = $temp->where('r.created_at' , 'LIKE' , '%'.$sampledate.'%');
}
}
您可以使用PHP的strtotime函数将任何类型的日期输入转换为所需的格式。
if (strtotime(Input::get('searchb')) !== false) {
// Valid date
$sampledate = date('M - d - y',strtotime(Input::get('searchb')));
// Prepare DB search...
}