我有一个 mySQL 表,用于根据时间范围指示商店开店或关店的天气:
shift table
--------------
shift_id
day_of_week (1-7 : Monday-Sunday)
open_time (time, default NULL)
close_time (time, default NULL)
type (1 || 2)
字段类型说明: 1表示同一天内的第一个时间帧,2表示该时间帧是同一天内的第二个时间帧。例如商店在 13:00 - 15:00 和 18:00 - 01:00 营业。
我正在使用以下方法获取当前日期:
$jd = cal_to_jd(CAL_GREGORIAN,date("m"),date("d"),date("Y"));
$day = jddayofweek($jd, 0);
switch($day){
case 0:
$curDay = 7;
break;
default:
$curDay = $day;
break;
}
return $curDay;
我正在使用以下方法获取当前时间:
$timeString = "%H:%i:%s";
$curTime = mdate($timeString, time());
复杂示例如下:
当前日期:星期一
当前时间:02:00。
周日时间范围:15:00 - 18:00 和 21:00 - 02:30。
周一时间范围:08:30 - 15:30。
显然,班次是开放的,但基于周日的时间范围,而不是在当天的周一。
在给定日期的给定时间,查询我的表(或在需要时更改我的表)的最佳方法或 100% 准确的方法来定义每次班次是打开还是关闭的方法是什么?