• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • IntlDateFormatter::setTimeZone()

    datefmt_set_timezone

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

    Sets formatterʼs timezone

    说明

    面向对象风格
    publicIntlDateFormatter::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