diff -u b/core/modules/datetime/config/schema/datetime.schema.yml b/core/modules/datetime/config/schema/datetime.schema.yml --- b/core/modules/datetime/config/schema/datetime.schema.yml +++ b/core/modules/datetime/config/schema/datetime.schema.yml @@ -89,15 +89,11 @@ # Daterange field type. field.storage_settings.daterange: - type: mapping + type: field.storage_settings.datetime label: 'Date range settings' - mapping: - datetime_type: - type: string - label: 'Date type' field.field_settings.daterange: - type: mapping + type: field.field_settings.datetime label: 'Date range settings' field.value.daterange: @@ -117,37 +113,17 @@ type: string label: 'Default end date value' -field.formatter.settings.daterange_base: - type: mapping - mapping: - separator: - type: string - label: 'Separator' - timezone_override: - type: string - label: 'Time zone override' - field.formatter.settings.daterange_default: - type: field.formatter.settings.daterange_base + type: field.formatter.settings.datetime_default label: 'Date range default display format settings' - mapping: - format_type: - type: string - label: 'Date format' field.formatter.settings.daterange_plain: - type: field.formatter.settings.daterange_base + type: field.formatter.settings.datetime_plain label: 'Date range plain display format settings' field.formatter.settings.daterange_custom: - type: field.formatter.settings.daterange_base + type: field.formatter.settings.datetime_custom label: 'Date range custom display format settings' - mapping: - date_format: - type: string - label: 'Date/time format' - translatable: true - translation context: 'PHP date format' field.widget.settings.daterange_datelist: type: mapping diff -u b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeCustomFormatter.php b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeCustomFormatter.php --- b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeCustomFormatter.php +++ b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeCustomFormatter.php @@ -66,7 +66,8 @@ $build = [ '#plain_text' => $this->formatDate($date), - ] + $this->defaultCacheContext(); + ]; + $build['#cache']['contexts'][] = 'timezone'; return $build; } diff -u b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeDefaultFormatter.php b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeDefaultFormatter.php --- b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeDefaultFormatter.php +++ b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeDefaultFormatter.php @@ -84,7 +84,8 @@ '#attributes' => [ 'datetime' => $iso_date, ], - ] + $this->defaultCacheContext(); + ]; + $build['#cache']['contexts'][] = 'timezone'; return $build; } diff -u b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeFormatterBase.php b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeFormatterBase.php --- b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeFormatterBase.php +++ b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimeFormatterBase.php @@ -140,22 +140,6 @@ abstract protected function buildDate($date); /** - * Returns the default cache context for the formatter. - * - * @return array - * A render array. - */ - protected function defaultCacheContext() { - return [ - '#cache' => [ - 'contexts' => [ - 'timezone', - ], - ], - ]; - } - - /** * Sets the proper time zone on a DrupalDateTime object for the current user. * * A DrupalDateTime object loaded from the database will have the UTC time diff -u b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimePlainFormatter.php b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimePlainFormatter.php --- b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimePlainFormatter.php +++ b/core/modules/datetime/src/Plugin/Field/FieldFormatter/DateTimePlainFormatter.php @@ -55,7 +55,8 @@ $build = [ '#plain_text' => $this->formatDate($date), - ] + $this->defaultCacheContext(); + ]; + $build['#cache']['contexts'][] = 'timezone'; return $build; }