是否只有我可以使用php的美国时区列表?我使用PHP的时区名称,如America/Anchorage,php在这里列出时区:
http://us.php.net/manual/en/timezones.others.php
我想在下拉列表中显示它们供用户选择,但我只需要美国的那些,我不想展示一堆在美国之外.
Joh*_*ohn 84
这是我找到的列表:
Eastern Time America/New_York
Central Time America/Chicago
Mountain Time America/Denver
Mountain Time (no DST) America/Phoenix
Pacific Time America/Los_Angeles
Alaska Time America/Anchorage
Hawaii-Aleutian America/Adak
Hawaii-Aleutian Time (no DST) Pacific/Honolulu
Run Code Online (Sandbox Code Playgroud)
jgr*_*owl 49
正如deceze所说,你可以使用PER_COUNTRY标志.
$timezone_identifiers = DateTimeZone::listIdentifiers(DateTimeZone::PER_COUNTRY, 'US');
foreach($timezone_identifiers as $timezone_identifier) {
echo "$timezone_identifier\n";
}
Run Code Online (Sandbox Code Playgroud)
输出:
America/Adak
America/Anchorage
America/Boise
America/Chicago
America/Denver
America/Detroit
America/Indiana/Indianapolis
America/Indiana/Knox
America/Indiana/Marengo
America/Indiana/Petersburg
America/Indiana/Tell_City
America/Indiana/Vevay
America/Indiana/Vincennes
America/Indiana/Winamac
America/Juneau
America/Kentucky/Louisville
America/Kentucky/Monticello
America/Los_Angeles
America/Menominee
America/Metlakatla
America/New_York
America/Nome
America/North_Dakota/Beulah
America/North_Dakota/Center
America/North_Dakota/New_Salem
America/Phoenix
America/Shiprock
America/Sitka
America/Yakutat
Pacific/Honolulu
Run Code Online (Sandbox Code Playgroud)
这将自动为您提供美国时区列表:
if (defined('DateTimeZone::AMERICA')) {
// PHP 5.3+
$timezoneIdentifiers = timezone_identifiers_list(DateTimeZone::AMERICA);
} else {
// PHP 5.2
$timezoneIdentifiers = timezone_identifiers_list();
$timezoneIdentifiers = array_filter($timezoneIdentifiers, create_function('$tz', 'return preg_match("/^America\//", $tz);'));
}
Run Code Online (Sandbox Code Playgroud)
请注意,这将包括南美,加拿大等时区.您可以使用DateTimeZone::PER_COUNTRY作为timezone_identifiers_listPHP 5.3 的过滤器,看看是否有你想要的,或者过滤完整列表US/.最好的选择可能是挑选时区.
| 归档时间: |
|
| 查看次数: |
75002 次 |
| 最近记录: |