PHP timezone_identifiers_list() 支持的所有时区
56 阅读量
发布时间:17天前
本文主要介绍了PHP支持的常用时区列表,包括中国地区(北京、乌鲁木齐)、国际主要城市(纽约、伦敦、东京等)的时区信息,以及如何使用timezone_identifiers_list()函数获取PHP全部400+时区数据,为开发者提供全球时区配置参考。
PHP 支持的所有时区可以通过timezone_identifiers_list()
函数获取,总数超过 400 个。以下是一些常见和重要的时区分类:
中国地区时区
时区标识 | 时区名称 | UTC 偏移 | 备注 |
---|---|---|---|
Asia/Shanghai | 北京时间 | UTC+8 | 中国标准时间,全国大部分地区使用 |
Asia/Chongqing | 北京时间 | UTC+8 | 与Asia/Shanghai相同 |
Asia/Harbin | 北京时间 | UTC+8 | 与Asia/Shanghai相同 |
Asia/Urumqi | 乌鲁木齐时间 | UTC+6 | 新疆地区实际使用的时间 |
✅ PHP 使用时区示例:
<?php
// 设置默认时区为北京时间
date_default_timezone_set('Asia/Shanghai');
echo "北京时间: " . date('Y-m-d H:i:s') . "\n";
// 乌鲁木齐时间示例
date_default_timezone_set('Asia/Urumqi');
echo "乌鲁木齐时间: " . date('Y-m-d H:i:s') . "\n";
// 比较两个时区的时间
$shanghai = new DateTime('now', new DateTimeZone('Asia/Shanghai'));
$urumqi = new DateTime('now', new DateTimeZone('Asia/Urumqi'));
echo "北京和乌鲁木齐时差: " . ($shanghai->getOffset() - $urumqi->getOffset())/3600 . "小时\n";
?>
✅ PHP 示例代码输出效果:
北京时间: 2025-07-15 12:34:56
乌鲁木齐时间: 2025-07-15 10:34:56
北京和乌鲁木齐时差: 2小时
国际主要城市时区
地区 | 时区标识 | 城市/地区 | 标准时间偏移 | 夏令时偏移 |
---|---|---|---|---|
美洲 | America/New_York | 纽约 | UTC-5 | UTC-4 |
America/Chicago | 芝加哥 | UTC-6 | UTC-5 | |
America/Denver | 丹佛 | UTC-7 | UTC-6 | |
America/Los_Angeles | 洛杉矶 | UTC-8 | UTC-7 | |
America/Toronto | 多伦多 | UTC-5 | UTC-4 | |
America/Sao_Paulo | 圣保罗 | UTC-3 | UTC-2 (部分区域) | |
欧洲 | Europe/London | 伦敦 | UTC+0 | UTC+1 |
Europe/Paris | 巴黎 | UTC+1 | UTC+2 | |
Europe/Berlin | 柏林 | UTC+1 | UTC+2 | |
Europe/Moscow | 莫斯科 | UTC+3 | 无夏令时 | |
亚洲 | Asia/Tokyo | 东京 | UTC+9 | 无夏令时 |
Asia/Seoul | 首尔 | UTC+9 | 无夏令时 | |
Asia/Singapore | 新加坡 | UTC+8 | 无夏令时 | |
Asia/Bangkok | 曼谷 | UTC+7 | 无夏令时 | |
Asia/Dubai | 迪拜 | UTC+4 | 无夏令时 | |
Asia/Kolkata | 加尔各答 | UTC+5:30 | 无夏令时 | |
大洋洲 | Australia/Sydney | 悉尼 | UTC+10 | UTC+11 |
Australia/Melbourne | 墨尔本 | UTC+10 | UTC+11 | |
Pacific/Auckland | 奥克兰 | UTC+12 | UTC+13 | |
特殊时区 | UTC | 协调世界时 | UTC+0 | 无 |
GMT | 格林尼治标准时间 | UTC+0 | 无 | |
Etc/GMT+12 | 国际日期变更线西侧 | UTC-12 | 无 |
✅ PHP 使用时区示例:
<?php
// 设置不同时区并显示时间
$timezones = [
'America/New_York' => '纽约',
'Europe/London' => '伦敦',
'Asia/Tokyo' => '东京',
'Australia/Sydney' => '悉尼',
'UTC' => '协调世界时'
];
foreach ($timezones as $tz => $city) {
date_default_timezone_set($tz);
$dst = date('I') ? ' (夏令时)' : '';
echo "{$city}时间({$tz}): " . date('Y-m-d H:i:s') . $dst . "\\n";
}
// 计算两个城市的时差
$ny = new DateTime('now', new DateTimeZone('America/New_York'));
$ldn = new DateTime('now', new DateTimeZone('Europe/London'));
$diff = $ny->getOffset() - $ldn->getOffset();
echo "\\n纽约和伦敦当前时差: " . ($diff / 3600) . "小时";
?>
✅ PHP 示例代码输出效果:
纽约时间(America/New_York): 2025-07-15 00:34:56 (夏令时)
伦敦时间(Europe/London): 2025-07-15 05:34:56 (夏令时)
东京时间(Asia/Tokyo): 2025-07-15 13:34:56
悉尼时间(Australia/Sydney): 2025-07-15 14:34:56 (夏令时)
协调世界时时间(UTC): 2025-07-15 04:34:56
获取完整列表的方法
// 获取所有支持的时区
$all_timezones = timezone_identifiers_list();
// 按地区分组获取
$asia_timezones = timezone_identifiers_list(DateTimeZone::ASIA);
$europe_timezones = timezone_identifiers_list(DateTimeZone::EUROPE);
热门文章
-
PHP时间处理完全指南:日期获取、格式化与计算(实战代码示例)
54 2025-07-12
-
MySQL 分词搜索实现方案:全文索引 vs 自定义分词
66 2025-07-12
最新文章
找到专属于你的技术圈子
申请回复「进群」加入官方微信群
