我正在开发一个食品订购网络应用程序(使用Laravel),当一位餐馆老板注册(列出他们的餐厅)并登录,除其他外,他们被要求设定他们的餐厅将关闭的时间,不能接受或交付订单。
为了简单起见,比方说,其中一家餐馆总是在周五早上01:30关门,直到周日上午9:00为止,每周的时间表都是一样的。
显然,当饥饿的用户星期六晚上访问该网站时,这个特定的餐厅列表将“目前无法使用,周日上午9点开放”(我知道,这是糟糕的UX )。
如何在碳中进行这种固定间隔的比较?在简单的英语中,IF语句应该类似于:If right-now is anywhere between a (Friday 1:30 am ) and a (Sunday 9:00 am), then return false
我知道between()方法做了一些非常相似的事情,但是它只比较特定的日期,而不是重复的几天和小时的间隔。
$first = Carbon::create(2014, 9, 5, 1);
$second = Carbon::create(2014, 9, 5, 5);
var_dump(Carbon::create(2014, 9, 5, 3)->between($first, $second)); // bool(true)Ps。我知道Laravel有自己的碳实现,并通过Date调用,但是如果有人知道碳的解决方案,Laravel的实现将很容易。
干杯。
发布于 2015-01-28 07:49:40
用PHP的parse()的底层功能使用strtotime()怎么样?
$friday = Carbon::parse('last friday 1:30 am');
$sunday = Carbon::parse('sunday 9:00 am');
return ! Carbon::now()->between($friday, $sunday, false);(第三个参数决定是使用<和>,还是使用<=和>=。false的意思是<和>。默认值为true)
https://stackoverflow.com/questions/28182340
复制相似问题