/**
  * Return current month
  */
 function evaluate()
 {
     $params = DateExpression::parse($this->getParameters()->evaluate());
     if (!$params) {
         return false;
     }
     return $params->month;
 }
 /**
  * Returns number of hours from now until the specified date.
  */
 public function evaluate()
 {
     $params = DateExpression::parse($this->getParameters()->evaluate());
     if (!$params) {
         return false;
     }
     $now = TimeDate::getInstance()->getNow(true);
     $tsdiff = $params->ts - $now->ts;
     return (int) ($tsdiff / 3600);
 }
 /**
  * Returns itself when evaluating.
  */
 function evaluate()
 {
     $params = $this->getParameters();
     $a = DateExpression::parse($params[0]->evaluate());
     $b = DateExpression::parse($params[1]->evaluate());
     if (empty($a) || empty($b)) {
         return false;
     }
     if ($a < $b) {
         return AbstractExpression::$TRUE;
     }
     return AbstractExpression::$FALSE;
 }
 /**
  * Returns the entire enumeration bare.
  */
 function evaluate()
 {
     $params = $this->getParameters();
     $date = DateExpression::parse($params[0]->evaluate());
     if (!$date) {
         return false;
     }
     $days = $params[1]->evaluate();
     if ($days < 0) {
         return $date->modify("{$days} day");
     }
     return $date->modify("+{$days} day");
 }
 /**
  * Returns the entire enumeration bare.
  */
 public function evaluate()
 {
     $date = $this->getParameters()->evaluate();
     $params = DateExpression::parse($date);
     if (!$params) {
         return false;
     }
     // if the date expression doesn't have a time on it or the def is type of 'date' then force
     // the time to be midnight on that day
     if (!DateExpression::hasTime($date) || isset($date->def) && $date->def['type'] === 'date') {
         $params->setTime(0, 0, 0);
     }
     return $params->getTimestamp();
 }
 /**
  * Returns the entire enumeration bare.
  */
 function evaluate()
 {
     $params = DateExpression::parse($this->getParameters()->evaluate());
     if (!$params) {
         return false;
     }
     $now = TimeDate::getInstance()->getNow(true);
     //set the time to 0, as we are returning an integer based on the date.
     $params->setTime(0, 0, 0);
     // this will be the timestamp delimiter of the day.
     $tsdiff = $params->ts - $now->ts;
     $diff = (int) ceil($tsdiff / 86400);
     return $diff;
 }
 /**
  * Get the date from date expression, understands all strftime() formats
  */
 function evaluate()
 {
     $params = $this->getParameters()->evaluate();
     return DateExpression::parse($params);
 }