-2

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

因此,如果帐户所在的州是加利福尼亚州,则时区将为“America/Los_Angeles”

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

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

所以我的问题1)我怎样才能弄清楚什么状态与什么时区相关联。(例如:加利福尼亚 = "America/Los_Angeles")

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

4

2 回答 2

3

你还没有考虑清楚。

美国的许多州都有多个时区。例如,南达科他州既有山区时区,也有中部时区。

南达科他州时区地图

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

于 2013-03-28T23:26:16.397 回答
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',
); 
于 2013-03-28T06:35:04.340 回答