timezone_name_from_abbr()

1. 定义

该函数根据时区缩写名获取时区全名。 成功时返回时区全名,失败则返回FALSE。

2. 语法

timezone_name_from_abbr ( string $abbr [, int $gmtOffset = -1 [, int $isdst = -1 ]] ) : string

3. 参数说明

参数 可选性 数据类型 描述
$abbr 必需 字符串 时区缩写名
$gmtOffset 可选 整型 与格林威治标准时间偏差的秒数,默认为-1,表示使用第一个匹配$abbr的时区;没有匹配的就使用具备该偏移量的时区,如果未设置,则使用任意偏移量
$isdst 可选 布尔型 是否是夏令时,默认为-1,表示匹配时不考虑是否是夏令时;该值为1则表示搜索夏令时生效的时区,为0则相反

4. 示例

<?php

// timezone_name_from_abbr()
// 根据时区缩写名获取时区全名

$abbr = 'pmmt';
$timezone = timezone_name_from_abbr($abbr);
var_dump($timezone);// 输出:string(20) "Pacific/Bougainville"

$abbr = 'hkt';
$timezone = timezone_name_from_abbr($abbr);
var_dump($timezone);// 输出:string(14) "Asia/Hong_Kong"

$abbr = '';// 不存在的时区缩写
$timezone = timezone_name_from_abbr($abbr, 3600*8, 0);// 时差为 +8 小时、非夏令时的时区
var_dump($timezone);// 输出:string(13) "Asia/Shanghai"

$abbr = '';// 不存在的时区缩写
$timezone = timezone_name_from_abbr($abbr, 3600*8, 1);// 时差为 +8 小时、夏令时的时区
var_dump($timezone);// 输出:string(16) "Asia/Krasnoyarsk"

$abbr = '';// 不存在的时区缩写
$timezone = timezone_name_from_abbr($abbr, -3600*8, 0);// 时差为 -8 小时、非夏令时的时区
var_dump($timezone);// 输出:string(19) "America/Los_Angeles"

$abbr = 'jisushujudsadsadsad';// 不存在的时区缩写
$timezone = timezone_name_from_abbr($abbr, -3600*8, 0);// 时差为 -8 小时、非夏令时的时区
var_dump($timezone);// 输出:string(19) "America/Los_Angeles"

5. 延展阅读