diff --git a/core/lib/Drupal/Core/Datetime/DateFormatter.php b/core/lib/Drupal/Core/Datetime/DateFormatter.php index 0b4f817..60a1adc 100644 --- a/core/lib/Drupal/Core/Datetime/DateFormatter.php +++ b/core/lib/Drupal/Core/Datetime/DateFormatter.php @@ -2,7 +2,7 @@ /** * @file - * Contains \Drupal\Core\Datetime\Date. + * Contains \Drupal\Core\Datetime\DateFormatter. */ namespace Drupal\Core\Datetime; @@ -144,7 +144,7 @@ public function format($timestamp, $type = 'medium', $format = '', $timezone = N $date = DrupalDateTime::createFromTimestamp($timestamp, $this->timezones[$timezone], $create_settings); // If we have a non-custom date format use the provided date format pattern. - if ($date_format = $this->dateFormat($type, $langcode)) { + if ($type !== 'custom' && $date_format = $this->dateFormat($type, $langcode)) { $format = $date_format->getPattern(); } @@ -195,22 +195,28 @@ public function formatInterval($interval, $granularity = 2, $langcode = NULL) { /** * Loads the given format pattern for the given langcode. * - * @param string $format - * The machine name of the date format. + * @param string $type + * (optional) The format to use, one of: + * - One of the built-in formats: 'short', 'medium', + * 'long', 'html_datetime', 'html_date', 'html_time', + * 'html_yearless_date', 'html_week', 'html_month', 'html_year'. + * - The name of a date type defined by a date format config entity. + * - The machine name of an administrator-defined date format. + * - 'custom' for custom format. * @param string $langcode * The langcode of the language to use. * * @return string * The pattern for the date format in the given language. */ - protected function dateFormat($format, $langcode) { - if (!isset($this->dateFormats[$format][$langcode])) { + protected function dateFormat($type, $langcode) { + if (!isset($this->dateFormats[$type][$langcode])) { $original_language = $this->languageManager->getConfigOverrideLanguage(); $this->languageManager->setConfigOverrideLanguage(new Language(array('id' => $langcode))); - $this->dateFormats[$format][$langcode] = $this->dateFormatStorage->load($format); + $this->dateFormats[$type][$langcode] = $this->dateFormatStorage->load($type); $this->languageManager->setConfigOverrideLanguage($original_language); } - return $this->dateFormats[$format][$langcode]; + return $this->dateFormats[$type][$langcode]; } /**