获取PHP的官方美国时区?

时间:2013-03-28 06:07:55

标签: php timezone

我的帐户存储在我的数据库中,我将每个帐户状态存档,从那里我想根据帐户状态将每个帐户链接到一个时区。

所以,如果该帐户的州是加利福尼亚州,那么时区将是“America / Los_Angeles”

更多,我想分解此页面http://php.net/manual/en/timezones.america.php提供的时区 大西洋 东 中央 山 和平的 阿拉斯加州 夏威夷 - 阿留申语

现在,我可以根据7个时区对数据进行排序,并且我可以将所有帐户都链接到时区,以便我可以确定他们的时区。

所以我的问题 1)我怎样才能弄清楚什么状态与什么时区有关。 (例如:California =“America / Los_Angeles”)

2)哪个时区与时区类别相关联。 (例如:加利福尼亚=太平洋)

2 个答案:

答案 0 :(得分:3)

你没有想到这一点。

美国许多州都有多个时区。例如,南达科他州有山区和中央时区。

South Dakota Time Zone Map

如果您希望将某个位置解析为某个时区,则需要更精细的位置。理想情况下,纬度和经度。如果您没有,则可以近似邮政编码的质心lat / lon,然后将其用于将解析到时区的各种服务或数据库中的任何一个。但要非常小心,并非所有邮政编码都代表物理位置,邮政编码经常更改。

答案 1 :(得分:1)

总是最好去消息来源: http://www.php.net/manual/en/timezones.america.php

适用于所有时区: http://www.php.net/manual/en/timezones.php

如果您在第一个链接上读到该页面,如果您需要缩写,有人就可以制作一个数组:

$aTimeZones = array(
  'America/Puerto_Rico'=>'AST',
  'America/New_York'=>'EDT',
  'America/Chicago'=>'CDT',
  'America/Boise'=>'MDT',
  'America/Phoenix'=>'MST',
  'America/Los_Angeles'=>'PDT',
  'America/Juneau'=>'AKDT',
  'Pacific/Honolulu'=>'HST',
  'Pacific/Guam'=>'ChST',
  'Pacific/Samoa'=>'SST',
  'Pacific/Wake'=>'WAKT',
);