IntlCalendar::setTimeZone

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

IntlCalendar::setTimeZoneSet the timezone used by this calendar

说明

面向对象风格

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

过程化风格

intlcal_set_time_zone(IntlCalendar $calendar, IntlTimeZone|DateTimeZone|string|null $timezone): bool

Defines a new timezone for this calendar. The time represented by the object is preserved to the detriment of the field values.

参数

calendar

IntlCalendar 实例。

timezone

The new timezone to be used by this calendar. It can be specified in the following ways:

返回值

Returns true on success and false on failure.

范例

示例 #1 IntlCalendar::setTimeZone()

<?php
ini_set
('date.timezone''Europe/Lisbon');
ini_set('intl.default_locale''es_ES');

$cal = new IntlGregorianCalendar(2013/* May */11200);

echo 
IntlDateFormatter::formatObject($calIntlDateFormatter::FULL), "\n";
echo 
"(instant {$cal->getTime()})\n";

$cal->setTimeZone(IntlTimeZone::getGMT());
echo 
IntlDateFormatter::formatObject($calIntlDateFormatter::FULL), "\n";
echo 
"(instant {$cal->getTime()})\n";

$cal->setTimeZone('GMT+03:33');
echo 
IntlDateFormatter::formatObject($calIntlDateFormatter::FULL), "\n";
echo 
"(instant {$cal->getTime()})\n";

以上例程会输出:

sábado, 1 de junio de 2013 12:00:00 Hora de verano de Europa occidental
(instant 1370084400000)
sábado, 1 de junio de 2013 11:00:00 GMT
(instant 1370084400000)
sábado, 1 de junio de 2013 14:33:00 GMT+03:33
(instant 1370084400000)