我无法检查月份是否= =相等的日期时间

时间:2016-02-11 11:03:05

标签: php datetime

我试图显示每个月的结果 我有这个for循环:

foreach ($overview as $day) {
    $year = date("Y") - 1;
    if ($day->user == $info->id) {
        $startDate = new DateTime($day->Calendar_startdate);
        $endDate = new DateTime($day->Calendar_enddate);
        $s = $startDate->format('Y-m-d');
        $e = $endDate->format('Y-m-d');
        if ($s > $year) {
            $workdays = number_of_working_days($s, $e);
            $daysleft = $daysleft + $workdays;
        } else {
        }
    }
}

这个for循环也在一个if语句中,它回显了几个月。

现在我需要让它适用于1月,2月等... ... 如果在前一年运作良好,我无法显示结果。

2 个答案:

答案 0 :(得分:0)

如果您想将$s$year进行比较,只需将$year更改为:

$time = new DateTime('now');
/*** you can use `now` for today
/* or you can change to a fixed date exmp: 2016-01-01
*/
$year = $time->modify('-1 year')->format('Y-m-d');

比你可以比较$s > $year

答案 1 :(得分:0)

我通过检查每个月是否包含例如-01-

来修复

DB::table('Calendar')->where('Calendar_startdate', 'like','%' . $monthnumber . '%')->where('user', $info->id)->where('Calendar_type',2)->get();