mirror of
https://github.com/twigphp/Twig.git
synced 2026-09-14 11:27:00 +00:00
merged branch vitman/patch-1 (PR #871)
This PR was squashed before being merged into the master branch (closes #871).
Commits
-------
b89163d Update lib/Twig/Extension/Core.php
Discussion
----------
Update lib/Twig/Extension/Core.php
Added support for setted default timezone for twig date functions.
---------------------------------------------------------------------------
by henrikbjorn at 2012-10-26T07:19:02Z
This have the same problem as the other PR you created. See php.net/datetime for reference.
This commit is contained in:
@@ -446,11 +446,12 @@ function twig_date_converter(Twig_Environment $env, $date = null, $timezone = nu
|
||||
{
|
||||
if (!$date instanceof DateTime) {
|
||||
$asString = (string) $date;
|
||||
|
||||
$defaultTimeZone = $env->getExtension('core')->getTimezone();
|
||||
$defaultTimeZone = $defaultTimeZone !== null ? $defaultTimeZone : new DateTimeZone(date_default_timezone_get());
|
||||
if (ctype_digit($asString) || (!empty($asString) && '-' === $asString[0] && ctype_digit(substr($asString, 1)))) {
|
||||
$date = new DateTime('@'.$date);
|
||||
$date = new DateTime('@'.$date, $defaultTimeZone);
|
||||
} else {
|
||||
$date = new DateTime($date);
|
||||
$date = new DateTime($date, $defaultTimeZone);
|
||||
}
|
||||
} else {
|
||||
$date = clone $date;
|
||||
@@ -463,10 +464,10 @@ function twig_date_converter(Twig_Environment $env, $date = null, $timezone = nu
|
||||
} else {
|
||||
$date->setTimezone(new DateTimeZone($timezone));
|
||||
}
|
||||
} elseif (($timezone = $env->getExtension('core')->getTimezone()) instanceof DateTimeZone) {
|
||||
$date->setTimezone($timezone);
|
||||
} elseif ($defaultTimeZone instanceof DateTimeZone) {
|
||||
$date->setTimezone($defaultTimeZone);
|
||||
} else {
|
||||
$date->setTimezone(new DateTimeZone(date_default_timezone_get()));
|
||||
$date->setTimezone(new DateTimeZone($defaultTimeZone));
|
||||
}
|
||||
|
||||
return $date;
|
||||
|
||||
Reference in New Issue
Block a user