array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'intldateformatter.settimezone.php', 1 => 'IntlDateFormatter::setTimeZone', ), 'up' => array ( 0 => 'class.intldateformatter.php', 1 => 'IntlDateFormatter', ), 'prev' => array ( 0 => 'intldateformatter.setpattern.php', 1 => 'IntlDateFormatter::setPattern', ), 'next' => array ( 0 => 'class.resourcebundle.php', 1 => 'ResourceBundle', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/intl/dateformatter/settimezone.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL intl >= 3.0.0)
IntlDateFormatter::setTimeZone -- datefmt_set_timezone — Sets formatterʼs timezone
面向对象风格
过程化风格
$formatter
, IntlTimeZone|DateTimeZone|string|null $timezone
): boolSets the timezone used for the IntlDateFormatter. object.
formatter
The formatter resource.
timezone
The timezone to use for this formatter. This can be specified in the following forms:
null
, in which case the default timezone will be used, as specified in
the ini setting date.timezone or
through the function date_default_timezone_set() and as
returned by date_default_timezone_get().
An IntlTimeZone, which will be used directly.
A DateTimeZone. Its identifier will be extracted and an ICU timezone object will be created; the timezone will be backed by ICUʼs database, not PHPʼs.
A string, which should be a valid ICU timezone identifier.
See IntlTimeZone::createTimeZoneIDEnumeration(). Raw
offsets such as "GMT+08:30"
are also accepted.
示例 #1 IntlDateFormatter::setTimeZone() examples
<?php
ini_set('date.timezone', 'Europe/Amsterdam');
$formatter = IntlDateFormatter::create(NULL, NULL, NULL, "UTC");
$formatter->setTimeZone(NULL);
echo "NULL\n ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone(IntlTimeZone::createTimeZone('Europe/Lisbon'));
echo "IntlTimeZone\n ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone(new DateTimeZone('Europe/Paris'));
echo "DateTimeZone\n ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone('Europe/Rome');
echo "String\n ", $formatter->getTimeZone()->getId(), "\n";
$formatter->setTimeZone('GMT+00:30');
print_r($formatter->getTimeZone());
以上示例会输出:
NULL Europe/Amsterdam IntlTimeZone Europe/Lisbon DateTimeZone Europe/Paris String Europe/Rome IntlTimeZone Object ( [valid] => 1 [id] => GMT+00:30 [rawOffset] => 1800000 [currentOffset] => 1800000 )