0
$datetime = new DateTime('today');
$datetime->modify('+2 day');

$expired_tags = DB::table('tags')
        ->where('active', '=', 1)
        ->where('expiry_date', '=', $datetime)
        ->get();

我试图了解我如何问:

给我所有离过期还有两天的标签。但上面似乎考虑了小时、分钟和秒......我只需要询问年、月、日并比较两个日期的这方面。

4

2 回答 2

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下一个日历日任何时间的所有记录!:)

于 2013-10-22T21:38:13.190 回答
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();
于 2013-10-23T08:09:12.107 回答