.../EntityTest/EntityTestDateRangeTest.php | 4 ++-- .../EntityTest/EntityTestDatetimeTest.php | 2 +- core/modules/serialization/serialization.services.yml | 8 ++++---- .../src/Normalizer/DateTimeIso8601Normalizer.php | 19 +++++++++++++++++++ .../src/Normalizer/DateTimeNormalizer.php | 11 +++++++++++ 5 files changed, 37 insertions(+), 7 deletions(-) diff --git a/core/modules/datetime/tests/src/Functional/EntityResource/EntityTest/EntityTestDateRangeTest.php b/core/modules/datetime/tests/src/Functional/EntityResource/EntityTest/EntityTestDateRangeTest.php index 6324f91..85cb43d 100644 --- a/core/modules/datetime/tests/src/Functional/EntityResource/EntityTest/EntityTestDateRangeTest.php +++ b/core/modules/datetime/tests/src/Functional/EntityResource/EntityTest/EntityTestDateRangeTest.php @@ -90,8 +90,8 @@ protected function getExpectedNormalizedEntity() { return parent::getExpectedNormalizedEntity() + [ static::$fieldName => [ [ - 'value' => $this->entity->get(static::$fieldName)->value, - 'end_value' => $this->entity->get(static::$fieldName)->value, + 'value' => '2017-03-01T20:02:00+11:00', + 'end_value' => '2017-03-01T20:02:00+11:00', ], ], ]; diff --git a/core/modules/datetime/tests/src/Functional/EntityResource/EntityTest/EntityTestDatetimeTest.php b/core/modules/datetime/tests/src/Functional/EntityResource/EntityTest/EntityTestDatetimeTest.php index ffce48c..0c75233 100644 --- a/core/modules/datetime/tests/src/Functional/EntityResource/EntityTest/EntityTestDatetimeTest.php +++ b/core/modules/datetime/tests/src/Functional/EntityResource/EntityTest/EntityTestDatetimeTest.php @@ -90,7 +90,7 @@ protected function getExpectedNormalizedEntity() { return parent::getExpectedNormalizedEntity() + [ static::$fieldName => [ [ - 'value' => $this->entity->get(static::$fieldName)->value, + 'value' => '2017-03-01T20:02:00+11:00', ], ], ]; diff --git a/core/modules/serialization/serialization.services.yml b/core/modules/serialization/serialization.services.yml index 537d9a7..c883410 100644 --- a/core/modules/serialization/serialization.services.yml +++ b/core/modules/serialization/serialization.services.yml @@ -63,11 +63,11 @@ services: tags: # Priority must be higher than serializer.normalizer.primitive_data. - { name: normalizer, priority: 20, bc: bc_timestamp_normalizer_unix, bc_config_name: 'serialization.settings' } - serializer.normalizer.datetime: - class: \Drupal\serialization\Normalizer\DateTimeNormalizer + serializer.normalizer.datetimeiso8601: + class: \Drupal\serialization\Normalizer\DateTimeIso8601Normalizer tags: - # Priority must be higher than serializer.normalizer.primitive_data, lower than serializer.normalizer.timestamp. - - { name: normalizer, priority: 15, bc: bc_timestamp_normalizer_unix, bc_config_name: 'serialization.settings' } + # Priority must be higher than serializer.normalizer.primitive_data. + - { name: normalizer, priority: 20 } serializer.normalizer.password_field_item: class: Drupal\serialization\Normalizer\NullNormalizer arguments: ['Drupal\Core\Field\Plugin\Field\FieldType\PasswordItem'] diff --git a/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php b/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php new file mode 100644 index 0000000..32fc4e4 --- /dev/null +++ b/core/modules/serialization/src/Normalizer/DateTimeIso8601Normalizer.php @@ -0,0 +1,19 @@ +