$datetime = new DateTime('today');
$datetime->modify('+2 day');
$expired_tags = DB::table('tags')
->where('active', '=', 1)
->where('expiry_date', '=', $datetime)
->get();
我正在试着理解我的问题:
给我所有距离过期两天的标签。但上面似乎考虑了小时,分钟和秒......我只需要询问年,月,日并比较这两个日期的这一方面。
答案 0 :(得分:4)
好的,所以我想出了一个做我想做的事情的好方法......
$starting_time = new DateTime('today');
$starting_time->modify('+1 day');
$ending_time = new DateTime('today');
$ending_time->modify('+1 day +23 hours +59 minutes +59 seconds');
$expired_tags = DB::table('tags')
->where('active', '=', 1)
->whereBetween('expiry_date', array($starting_time, $ending_time))
->get();
这会抓住在下一个日历日中随时有datetime
的所有记录! :)
答案 1 :(得分:2)
$today = new DateTime('today');
$expired_tags = DB::table('tags')
->where('active', '=', 1)
->where('expiry_date', '>=', $today->modify('+1 day')->format('Y-m-d'))
->where('expiry_date', '<', $today->modify('+1 day')->format('Y-m-d'))
->get();