IntlCalendar::setTimeZone

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

IntlCalendar::setTimeZoneSet the timezone used by this calendar

说明

面向对象风格

public bool IntlCalendar::setTimeZone ( mixed $timeZone )

过程化风格

bool intlcal_set_time_zone ( IntlCalendar $cal , mixed $timeZone )

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

参数

cal

The IntlCalendar resource.

timeZone

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

  • 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 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)