IntlDateFormatter
PHP Manual

IntlDateFormatter::setTimeZone

datefmt_set_timezone

(PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0)

IntlDateFormatter::setTimeZone -- datefmt_set_timezoneSets formatterʼs timezone

说明

面向对象风格

public boolean IntlDateFormatter::setTimeZone ( mixed $zone )

过程化风格

boolean datefmt_set_timezone ( mixed $zone )

Sets the timezone that will be used when formatting dates or times with this object.

参数

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.

范例

Example #1 IntlDateFormatter::setTimeZone() examples

<?php
ini_set
('date.timezone''Europe/Amsterdam');

$formatter IntlDateFormatter::create(NULLNULLNULL"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
PHP Manual