public function testSameDay() { $objDate = new class_date(); $this->assertTrue($objDate->isSameDay(new class_date())); $objDate->setNextDay(); $this->assertTrue(!$objDate->isSameDay(new class_date())); }
/** * Calculates the number of working days between the given dates. * The start and enddate are included in the count. * * @param class_date $objDateFrom * @param class_date $objDateTo * @return int */ public function calcNumberOfWorkingDaysBetween(class_date $objDateFrom, class_date $objDateTo) { $intNumberOfWorkingDays = 0; if ($objDateFrom->getLongTimestamp() > $objDateTo->getLongTimestamp()) { return $intNumberOfWorkingDays; } if ($objDateFrom->isSameDay($objDateTo)) { return $intNumberOfWorkingDays; } $objDateCompare = clone $objDateFrom; if ($this->isValidTarget2Day($objDateCompare)) { $intNumberOfWorkingDays++; } while ($objDateCompare = $this->calcNextWorkingDay($objDateCompare)) { if ($objDateCompare->getLongTimestamp() > $objDateTo->getLongTimestamp()) { break; } $intNumberOfWorkingDays++; if ($objDateCompare->isSameDay($objDateTo)) { break; } } return $intNumberOfWorkingDays; }