一、计算2个坐标点之间距离
function get_distance($from,$to,$km=true,$decimal=2){
sort($from);
sort($to);
$EARTH_RADIUS = 6370.996;
$distance = $EARTH_RADIUS*2*asin(sqrt(pow(sin( ($from[0]*pi()/180-$to[0]*pi()/180)/2),2)+cos($from[0]*pi()/180)*cos($to[0]*pi()/180)* pow(sin( ($from[1]*pi()/180-$to[1]*pi()/180)/2),2)))*1000;
if($km){
$distance = $distance / 1000;
}
return round($distance, $decimal);
}
二、时间比较
$amworktimelist=explode(' - ',$clockin['clockin_timerange']);
$startTime=strtotime(date('Y-m-d').$amworktimelist[0]) ;
$endTime=strtotime(date('Y-m-d').$amworktimelist[1]) ;
if(!(($startTime<$time)&&($time<$endTime))){
return $this->response(400,'未在指定的打卡时间打卡,指定打卡时间为:'.$clockin['clockin_timerange']);
}
参考以下代码: