コード例 #1
0
 /**
  * @param string $pattern
  * @return bool[]
  */
 protected function resolveTimePatternPartPresence($pattern)
 {
     if (!isset($this->symbolTypePresence[$pattern])) {
         $this->symbolTypePresence[$pattern] = [];
         foreach ($this->configuration as $symbolName => $symbolConfiguration) {
             $this->symbolTypePresence[$pattern][$symbolName] = Tools::isAnyOfSymbolsInPattern($symbolConfiguration['symbols'], $pattern);
         }
     }
     return $this->symbolTypePresence[$pattern];
 }
コード例 #2
0
 /**
  * @param string $format
  * @return string
  */
 public function format(string $format) : string
 {
     if (Tools::isAnyOfSymbolsInPattern(self::NOT_ALLOWED_FORMAT_SYMBOLS, $format)) {
         throw new LogicException(sprintf('Invalid pattern. Only [%s] symbols are allowed.', implode(', ', self::ALLOWED_FORMAT_SYMBOLS)));
     }
     return $this->toInternalDateTime()->format($format);
 }