public function testDaysLeft() { $this->assertEquals(11, DateUtils::daysLeft(1462380876, 1461380876)); $this->assertEquals(11, DateUtils::daysLeft(gmdate('Y-m-d', 1462380876), gmdate('Y-m-d', 1461380876))); $this->assertEquals(18, DateUtils::daysLeft(new DateTime('2016-04-16'), new DateTime('2016-03-29'))); // On Past dates $this->assertEquals(0, DateUtils::daysLeft(1461380876, 1462380876)); $this->assertEquals(0, DateUtils::daysLeft(gmdate('Y-m-d', 1461380876), gmdate('Y-m-d', 1462380876))); $this->assertEquals(0, DateUtils::daysLeft(new DateTime('2016-03-29'), new DateTime('2016-04-16'))); $this->assertEquals(-11, DateUtils::daysLeft(1461380876, 1462380876, true)); $this->assertEquals(-11, DateUtils::daysLeft(gmdate('Y-m-d', 1461380876), gmdate('Y-m-d', 1462380876), true)); $this->assertEquals(-18, DateUtils::daysLeft(new DateTime('2016-03-29'), new DateTime('2016-04-16'), true)); $this->assertEquals(1, DateUtils::daysLeft(time() + DateUtils::DAY_IN_SECONDS)); }