©
This document uses PHP Chinese website manual Release
(PHP 5 >= 5.5.0, PECL intl >= 3.0.0)
IntlDateFormatter::setTimeZone -- datefmt_set_timezone — Sets formatter?s timezone
面向对象风格
$zone
)过程化风格
$zone
)Sets the timezone that will be used when formatting dates or times with this object.
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.
Example #1 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 )