diff --git a/core/core.services.yml b/core/core.services.yml index 856c198..dcaeaf1 100644 --- a/core/core.services.yml +++ b/core/core.services.yml @@ -431,3 +431,6 @@ services: class: Drupal\Core\EventSubscriber\SlaveDatabaseIgnoreSubscriber tags: - {name: event_subscriber} + date: + class: Drupal\Core\Datetime\Date + arguments: ['@config.factory', '@language_manager'] diff --git a/core/lib/Drupal/Core/Datetime/Date.php b/core/lib/Drupal/Core/Datetime/Date.php index 00d26cf..845aac3 100644 --- a/core/lib/Drupal/Core/Datetime/Date.php +++ b/core/lib/Drupal/Core/Datetime/Date.php @@ -11,6 +11,7 @@ use Drupal\Core\Config\ConfigFactory; use Drupal\Core\Datetime\DrupalDateTime; use Drupal\Core\Language\Language; +use Drupal\Core\Language\LanguageManager; /** * Provides a service to handler various date related functionality. @@ -32,13 +33,23 @@ class Date { protected $configFactory; /** + * Language manager for retrieving the default langcode when none is specified. + * + * @var \Drupal\Core\Language\LanguageManager + */ + protected $languageManager; + + /** * Constructs a DateFormats object. * * @param \Drupal\Core\Config\ConfigFactory $config_factory * The config factory. + * @param \Drupal\Core\Language\LanguageManager $language_manager + * The language manager. */ - public function __construct(ConfigFactory $config_factory) { + public function __construct(ConfigFactory $config_factory, LanguageManager $language_manager) { $this->configFactory = $config_factory; + $this->languageManager = $language_manager; } /** @@ -82,7 +93,7 @@ public function format($timestamp, $type = 'medium', $format = '', $timezone = N } if (empty($langcode)) { - $langcode = language(Language::TYPE_INTERFACE)->langcode; + $langcode = $this->languageManager->getLanguage(Language::TYPE_URL)->langcode; } // Create a DrupalDateTime object from the timestamp and timezone.