首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP美国TimeZones地图?

PHP美国TimeZones地图?
EN

Stack Overflow用户
提问于 2013-11-29 18:35:00
回答 1查看 735关注 0票数 0

因此,我在php中使用DateTimeZone类,并能够打印出美国所有时区的列表。我把它印在下面。

唯一的问题是,恐怕用户不会理解这意味着什么?我把这一切都放在了一个下拉列表中,但是比如说你住在佛罗里达,普通人真的知道哪一个是时区的选择吗?我认为要展示PST、EST、MNT、CST或HAST、HST或AKST要容易得多。有没有办法仍然使用DateTimeZone类使用缩写PST,EST等.?

我的意思是,还能在不同的时间之间转换,比如2:00 PST转换成EST等等.?

代码语言:javascript
复制
'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'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-29 23:27:12

怎么样

代码语言:javascript
复制
// Show to the user
$options = array();
foreach ( timezone_abbreviations_list() as $abbr => $tz ) {
  $options[ $tz[0]['timezone_id'] ] = strtoupper($abbr);
}
// array('America/Porto_Acre' => 'ACST', ...)

// Use
$user_timezone_id = ... somewhere in account? ...
date_default_timezone_set($user_timezone_id);

或者类似的东西。用户从ACST和EST这样的缩写中选择,系统在后台使用时区id。

如果您以某种方式了解EST,但不了解America/New_York,则可以:

代码语言:javascript
复制
$user_timezone_abbr = ... somewhere in account? ...
$timezones = timezone_abbreviations_list();
$timezone_id = $timezones[$user_timezone_abbr][0]['timezone_id'];
date_default_timezone_set($user_timezone_id);

或者类似的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20291635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档