/** * @inheritdoc */ public function init() { if ($this->format === null) { switch ($this->type) { case 'date': $this->format = Yii::$app->formatter->dateFormat; break; case 'time': $this->format = Yii::$app->formatter->timeFormat; break; case 'datetime': $this->format = Yii::$app->formatter->datetimeFormat; break; } } // if $this->format is a short format, // convert it to a pattern, so that DateValidator will respect $this->type. $this->format = FormatConverter::convertIcuShortFormatToPattern($this->format, $this->type, $this->locale); parent::init(); }
protected function registerFormat() { if ($this->format === false) { // do nothing, use moment's default return; } $format = $this->format; if ($format === null) { switch ($this->type) { case self::TYPE_DATE: $format = Yii::$app->formatter->dateFormat; break; case self::TYPE_TIME: $format = Yii::$app->formatter->timeFormat; break; case self::TYPE_DATETIME: $format = Yii::$app->formatter->datetimeFormat; break; } } if (is_string($format)) { if (strncmp($format, 'php:', 4) === 0) { $format = FormatConverter::convertDatePhpToMoment(substr($format, 4)); } elseif (strncmp($format, 'moment:', 7) === 0) { $format = substr($format, 7); } else { $format = FormatConverter::convertDateIcuToMoment($format, $this->type, $this->locale); } $this->clientOptions['format'] = $format; } }