IntlCalendar::setTimeZone()
(PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1)
Set the timezone used by this calendar
说明
面向对象风格public IntlCalendar::setTimeZone(mixed $timeZone): bool
过程化风格
intlcal_set_time_zone(IntlCalendar$cal, mixed $timeZone): bool
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.
范例
IntlCalendar::setTimeZone()
<?php ini_set('date.timezone', 'Europe/Lisbon'); ini_set('intl.default_locale', 'es_ES'); $cal = new IntlGregorianCalendar(2013, 5 /* May */, 1, 12, 0, 0); echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n"; echo "(instant {$cal->getTime()})\n"; $cal->setTimeZone(IntlTimeZone::getGMT()); echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n"; echo "(instant {$cal->getTime()})\n"; $cal->setTimeZone('GMT+03:33'); echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::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)