IntlDateFormatter::setTimeZone()
datefmt_set_timezone
(PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0)
Sets formatterʼs timezone
说明
面向对象风格public IntlDateFormatter::setTimeZone(mixed $zone): bool
过程化风格
datefmt_set_timezone(IntlDateFormatter$fmt, mixed $zone): bool
Sets the timezone used for the IntlDateFormatter. object.
参数
- $fmt
The formatter resource.
- $zone
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.
返回值
Returns TRUE
on success and FALSE
on failure.
范例
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 )
参见
- IntlDateFormatter::getTimeZone() Get formatterʼs timezone