函数名:IntlCalendar::setTimeZone()
适用版本:PHP 5 >= 5.5.0, PHP 7, PHP 8
用法:IntlCalendar::setTimeZone() 函数用于设置一个国际化日历对象的时区。
语法:public bool IntlCalendar::setTimeZone(mixed $timeZone)
参数:
- $timeZone:要设置的时区。可以是时区标识符的字符串(如 "Asia/Shanghai"),也可以是一个 DateTimeZone 对象。
返回值:成功时返回 true,失败时返回 false。
示例:
// 创建一个国际化日历对象
$cal = IntlCalendar::createInstance();
// 设置时区为 "Asia/Shanghai"
$cal->setTimeZone("Asia/Shanghai");
// 获取当前时区
$timeZone = $cal->getTimeZone();
echo $timeZone->getName(); // 输出:Asia/Shanghai
// 使用 DateTimeZone 对象设置时区
$timezoneObj = new DateTimeZone("America/New_York");
$cal->setTimeZone($timezoneObj);
$timeZone = $cal->getTimeZone();
echo $timeZone->getName(); // 输出:America/New_York
在上面的示例中,我们首先创建了一个国际化日历对象 $cal
,然后使用 setTimeZone()
函数将时区设置为 "Asia/Shanghai"。然后我们使用 getTimeZone()
函数获取当前的时区,并输出其名称。
接下来,我们创建了一个 DateTimeZone 对象 $timezoneObj
,表示 "America/New_York" 时区,并使用 setTimeZone()
函数将时区设置为 $timezoneObj
。再次使用 getTimeZone()
函数获取当前的时区,并输出其名称。
注意:在使用 setTimeZone()
函数之前,必须先创建一个国际化日历对象。