Handle the deprecation of IntlDateFormatter::setTimeZoneId() in PHP 5.5.

Optionally use the new IntlDateFormatter::setTimeZone() method if it exists.
This commit is contained in:
Adam Harvey 2013-01-10 12:41:51 +08:00
parent b33d5bc352
commit 34def9f94f

View File

@ -263,7 +263,11 @@ class DateType extends AbstractType
$pattern = $formatter->getPattern();
$timezone = $formatter->getTimezoneId();
$formatter->setTimezoneId(\DateTimeZone::UTC);
if (version_compare(\PHP_VERSION, '5.5.0alpha1', '>=')) {
$formatter->setTimeZone(\DateTimeZone::UTC);
} else {
$formatter->setTimeZoneId(\DateTimeZone::UTC);
}
if (preg_match($regex, $pattern, $matches)) {
$formatter->setPattern($matches[0]);
@ -277,7 +281,11 @@ class DateType extends AbstractType
$formatter->setPattern($pattern);
}
$formatter->setTimezoneId($timezone);
if (version_compare(\PHP_VERSION, '5.5.0alpha1', '>=')) {
$formatter->setTimeZone($timezone);
} else {
$formatter->setTimeZoneId($timezone);
}
return $timestamps;
}