$timea=explode(",",$_MODULE[yytime]); //获取预先设置时间
$time1=$timea[0] //获取预先设置上班时间
$time2=$timea[1] //获取预先设置下班时间
$time3=date('H:i')//获取系统时间
if($time3>$time1 && $time3<$time2)
{
echo '正在营业,欢迎光临';
}
else
{
echo '已经下班了,请明天再来';
}
如果下班时间是第二天的2:30怎么办啊,请写出详细步骤,详细有追加
按1楼的思路整理下
$timea=explode(",",$_MODULE[yytime]);
if($timea[1]>$timea[0]){
$timea1=date('Y-m-d ').$timea[0];
$timea2=date('Y-m-d ').$timea[1];
$time3=date('Y-m-d H:i');
if($time3>$timea1 && $time3<$timea2){
echo '正在营业中';
}else{
echo '已经下班了';
}
}else{
$timeb1=date('Y-m-d ').$timea[0];
$nextday=date('d')+"1";
$timeb2=date('Y-m-').$nextday." ".$timea[1];
$time3=date('Y-m-d H:i');
if($time3>$timeb1 && $time3<$timeb2){
echo '正在营业中';
}else{
echo '已经下班了';
}
}
这样又不对,发现如果下班时间是第二天的话,就永远不会下班了 @--@
是哪里错了,能帮忙改下吗?先谢谢了
下班时间在第二天
如果加个当前的日期的话,上班时间也会自动加上当前的日期,这样又回到同一天了,而且下班时间比上班时间还早
如果单独给下班时间的日期加1天,那么系统时间永远赶不上下班时间,就永远不会下班了,
反之单独给上班时间的日期减一天,就永远不会上班了
能详细说下这个日期应该怎么加吗?先谢谢了
希望能完整的给写出来
假定用户只输入上下班时分,不包含日期,算法大概为:
if 下班时间 < 上班时间 -- 很显然应该代表的是第二天
下班时间 = (当天日期 + 1) + 下班时间
上班时间 = 当天日期 + 上班时间
如此,下班时间是某个具体的值,系统时间肯定可以超过它的。
比如用户输入:上班时间:8:00;下班时间:2:30,那么加上日期后结果为:上班:2011.07.29 08:00:00;下班:2011.07.30 02:30:00
当系统到达明天早上2:31时,系统时间为:2011.07.30 02:31.00,通过比较时间,知道该下班了。