diff --git a/src/Extension/CoreExtension.php b/src/Extension/CoreExtension.php index b89321ebe44..9a64f2cf4fe 100644 --- a/src/Extension/CoreExtension.php +++ b/src/Extension/CoreExtension.php @@ -615,7 +615,7 @@ public function convertDate($date = null, $timezone = null) if (ctype_digit($asString) || ('' !== $asString && '-' === $asString[0] && ctype_digit(substr($asString, 1)))) { $date = new \DateTime('@'.$date); } else { - $date = new \DateTime($date); + $date = new \DateTime($date, false !== $timezone ? $timezone : $this->getTimezone()); } if (false !== $timezone) { diff --git a/tests/Fixtures/filters/date.test b/tests/Fixtures/filters/date.test index 16816aa9948..33e28e6cefc 100644 --- a/tests/Fixtures/filters/date.test +++ b/tests/Fixtures/filters/date.test @@ -87,4 +87,4 @@ January 28, 2010 15:00 January 28, 2010 15:00 January 28, 2010 15:00 -January 28, 2010 22:00 +January 28, 2010 15:00 diff --git a/tests/Fixtures/filters/date_relative_timezone.test b/tests/Fixtures/filters/date_relative_timezone.test new file mode 100644 index 00000000000..d1bb91e99a8 --- /dev/null +++ b/tests/Fixtures/filters/date_relative_timezone.test @@ -0,0 +1,13 @@ +--TEST-- +"date" filter with relative dates and timezone +--TEMPLATE-- +{{ "today"|date('e', 'Australia/Sydney') }} +{{ "today"|date('e', 'Europe/Paris') }} +{{ "today"|date('e', 'UTC') }} +--DATA-- +date_default_timezone_set('UTC'); +return [] +--EXPECT-- +Australia/Sydney +Europe/Paris +UTC \ No newline at end of file diff --git a/tests/Fixtures/filters/date_time_zone_conversion.test b/tests/Fixtures/filters/date_time_zone_conversion.test index 3ba042b709b..3088fe3b0f1 100644 --- a/tests/Fixtures/filters/date_time_zone_conversion.test +++ b/tests/Fixtures/filters/date_time_zone_conversion.test @@ -66,7 +66,7 @@ October 4, 2010 11:45 04/10/2010 07:45:00 04/10/2010 11:45:00 -October 4, 2010 11:45 +October 4, 2010 13:45 04/10/2010 October 4, 2010 13:45 @@ -88,4 +88,4 @@ January 28, 2010 15:00 January 28, 2010 15:00 January 28, 2010 15:00 -January 28, 2010 22:00 +January 28, 2010 15:00