Exemplo n.º 1
0
 public static function compare(DateRange $left, DateRange $right)
 {
     if ($left->isEmpty() && $right->isEmpty()) {
         return 0;
     } elseif ($left->isEmpty()) {
         return 1;
     } elseif ($right->isEmpty()) {
         return -1;
     }
     $leftStart = $left->getStartStamp();
     $leftEnd = $left->getEndStamp();
     $rightStart = $right->getStartStamp();
     $rightEnd = $right->getEndStamp();
     if (!$leftStart && !$rightStart || $leftStart && $rightStart && $leftStart == $rightStart) {
         if (!$leftEnd && !$rightEnd || $leftEnd && $rightEnd && $leftEnd == $rightEnd) {
             return 0;
         } elseif (!$leftEnd && $rightEnd) {
             return 1;
         } elseif ($leftEnd && !$rightEnd) {
             return -1;
         } elseif ($leftEnd < $rightEnd) {
             return -1;
         } else {
             return 1;
         }
     } elseif (!$leftStart && $rightStart) {
         return -1;
     } elseif ($leftStart && !$rightStart) {
         return 1;
     } elseif ($leftStart < $rightStart) {
         return -1;
     } else {
         return 1;
     }
 }