Exemple #1
0
 /**
  * @param RecurrenceRule $rule
  * @param \DateTime      $dt
  *
  * @return array
  */
 public static function getTimeSet(RecurrenceRule $rule, \DateTime $dt)
 {
     $set = array();
     if (null === $rule || $rule->getFreq() >= RecurrenceRule::FREQ_HOURLY) {
         return $set;
     }
     $byHour = $rule->getByHour();
     $byMinute = $rule->getByMinute();
     $bySecond = $rule->getBySecond();
     if (empty($byHour)) {
         $byHour = array($dt->format('G'));
     }
     if (empty($byMinute)) {
         $byMinute = array($dt->format('i'));
     }
     if (empty($bySecond)) {
         $bySecond = array($dt->format('s'));
     }
     foreach ($byHour as $hour) {
         foreach ($byMinute as $minute) {
             foreach ($bySecond as $second) {
                 $set[] = new Time($hour, $minute, $second);
             }
         }
     }
     return $set;
 }