public function testSameDay()
 {
     $objDate = new class_date();
     $this->assertTrue($objDate->isSameDay(new class_date()));
     $objDate->setNextDay();
     $this->assertTrue(!$objDate->isSameDay(new class_date()));
 }
示例#2
0
 /**
  * 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;
 }