php8.5
Home/ Manual/ intl / dateformatter/ IntlDateFormatter::setTimeZone

IntlDateFormatter::setTimeZone

PHP function Edit on GitHub ✎

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

Sets formatterʼs timezone

Description

Oop

IntlDateFormatter::setTimeZone(IntlTimeZone|DateTimeZone|string|null $timezone): bool

Procedural

datefmt_set_timezone(IntlDateFormatter $formatter, IntlTimeZone|DateTimeZone|string|null $timezone): bool

Sets the timezone used for the IntlDateFormatter. object.

Parameters

formatter

The formatter resource.

timezone

The timezone to use for this formatter. This can be specified in the following forms:

Inctimezoneparam

Return Values

Success

Changelog

VersionDescription
8.3.0This function now returns true on success; previously it returns null.

Examples

IntlDateFormatter::setTimeZone() examples

php
<?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());

The above example will output:

output
NULL
    Europe/Amsterdam
IntlTimeZone
    Europe/Lisbon
DateTimeZone
    Europe/Paris
String
    Europe/Rome
IntlTimeZone Object
(
    [valid] => 1
    [id] => GMT+00:30
    [rawOffset] => 1800000
    [currentOffset] => 1800000
)

See Also

Source: reference/intl/dateformatter/settimezone.xml · from the official PHP manual (php/doc-en)