Bläddra i källkod

[Form] changed transformers to not change the timezone of the provided value (closes #1340)

Fabien Potencier 14 år sedan
förälder
incheckning
f1b955be8c

+ 1 - 0
src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php

@@ -75,6 +75,7 @@ class DateTimeToArrayTransformer extends BaseDateTimeTransformer
             throw new UnexpectedTypeException($dateTime, '\DateTime');
         }
 
+        $dateTime = clone $dateTime;
         if ($this->inputTimezone !== $this->outputTimezone) {
             try {
                 $dateTime->setTimezone(new \DateTimeZone($this->outputTimezone));

+ 1 - 0
src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformer.php

@@ -84,6 +84,7 @@ class DateTimeToLocalizedStringTransformer extends BaseDateTimeTransformer
         }
 
         // convert time to UTC before passing it to the formatter
+        $dateTime = clone $dateTime;
         if ('UTC' !== $this->inputTimezone) {
             $dateTime->setTimezone(new \DateTimeZone('UTC'));
         }

+ 1 - 0
src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToStringTransformer.php

@@ -63,6 +63,7 @@ class DateTimeToStringTransformer extends BaseDateTimeTransformer
             throw new UnexpectedTypeException($value, '\DateTime');
         }
 
+        $value = clone $value;
         try {
             $value->setTimezone(new \DateTimeZone($this->outputTimezone));
         } catch (\Exception $e) {

+ 1 - 0
src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToTimestampTransformer.php

@@ -42,6 +42,7 @@ class DateTimeToTimestampTransformer extends BaseDateTimeTransformer
             throw new UnexpectedTypeException($value, '\DateTime');
         }
 
+        $value = clone $value;
         try {
             $value->setTimezone(new \DateTimeZone($this->outputTimezone));
         } catch (\Exception $e) {