function __construct($string, \DateTime $now = null, $lang = 'en') { // initialize the translator DateTranslator::getInstance($lang); // set the now date if (is_null($now)) { $this->now = new \DateTime(); } else { $this->now = $now; } // then try to determine which datetype we have here $success = preg_match(RelativeDateType1::getRegex(), $string, $match); if ($success === 1) { $this->datetype = new RelativeDateType1($match); return $this; } $success = preg_match(RelativeDateType2::getRegex(), $string, $match); if ($success === 1) { $this->datetype = new RelativeDateType2($match); return $this; } $success = preg_match(RelativeDateType3::getRegex(), $string, $match); if ($success === 1) { $this->datetype = new RelativeDateType3($match); return $this; } throw new \Exception('No DateType found.'); }
function __construct($data) { $day = intval($data[1]); if (is_integer($day)) { $this->day = $day; } else { throw new \BadMethodCallException(DateTranslator::getInstance()->translate('Tag wurde nicht angegeben oder ist falsch.')); } }
function __construct($data) { $interval = intval($data[1]); if (is_integer($interval)) { $this->interval = $data[1]; } else { throw new \BadMethodCallException("interval is wrong or missing"); } switch ($data[2]) { case DateTranslator::getInstance()->translate('Tage'): $this->days_or_week = 0; break; case DateTranslator::getInstance()->translate('Wochen'): $this->days_or_week = 1; break; default: throw new \BadMethodCallException("days or weeks are missing"); } }
function __construct($data) { switch ($data[1]) { case DateTranslator::getInstance()->translate('Erster'): $this->ordinal = 0; break; case DateTranslator::getInstance()->translate('Zweiter'): $this->ordinal = 1; break; case DateTranslator::getInstance()->translate('Dritter'): $this->ordinal = 2; break; case DateTranslator::getInstance()->translate('Letzter'): $this->ordinal = 3; break; default: throw new \BadMethodCallException("Ordinal is wrong or missing"); } switch ($data[2]) { case DateTranslator::getInstance()->translate('Montag'): $this->day = 0; break; case DateTranslator::getInstance()->translate('Dienstag'): $this->day = 1; break; case DateTranslator::getInstance()->translate('Mittwoch'): $this->day = 2; break; case DateTranslator::getInstance()->translate('Donnerstag'): $this->day = 3; break; case DateTranslator::getInstance()->translate('Freitag'): $this->day = 4; break; case DateTranslator::getInstance()->translate('Samstag'): $this->day = 5; break; case DateTranslator::getInstance()->translate('Sonntag'): $this->day = 6; break; default: throw new \BadMethodCallException("Day is wrong or missing"); } switch ($data[3]) { case DateTranslator::getInstance()->translate('Monats'): $this->month_or_year = 0; break; case DateTranslator::getInstance()->translate('Jahres'): $this->month_or_year = 1; break; default: throw new \BadMethodCallException("month or year is wrong or missing"); } }