php数组,状态与时区偏移设置

发布于 2024-10-02 07:23:54 字数 144 浏览 0 评论 0原文

我正在寻找包含美国各州和时区的数组。就像

$arr_states_timezone = array('WA'=>"PST",...);

我用谷歌搜索了很多但找不到一个。如果你有的话请帮助我。非常感谢!

I'm looking for an array with US States and time zone. Something like

$arr_states_timezone = array('WA'=>"PST",...);

I did google a lot but can't find one. Please help me if you have one. Thanks much!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

·深蓝 2024-10-09 07:23:54

我有同样的问题,最后我自己制作了这个数组。以下是我的想法:

$tz_states = array (
    'America/Anchorage'=>array('AK'),
    'America/Boise'=>array('ID'),
    'America/Chicago'=>array('AL', 'AR', 'IL', 'IA', 'KS', 'LA', 'MN', 'MS', 'MO', 'NE', 'OK', 'SD', 'TN', 'TX', 'WI'),
    'America/Denver'=>array('CO', 'MT', 'NM', 'UT', 'WY'),
    'America/Detroit'=>array('MI'),
    'America/Indiana/Indianapolis'=>array('IN'),
    'America/Kentucky/Louisville'=>array('KY'),
    'America/Los_Angeles'=>array('CA', 'NV', 'OR', 'WA'),
    'America/New_York'=>array('CT', 'DE', 'FL', 'GA', 'ME', 'MD', 'MA', 'NH', 'NJ', 'NY', 'NC', 'OH', 'PA', 'RI', 'SC', 'VT', 'VA', 'DC', 'WV'),
    'America/North_Dakota/Center'=>array('ND'),
    'America/Phoenix'=>array('AZ'),
    'Pacific/Honolulu'=>array('HI'),
);

请注意,这在某种程度上是不准确的,因为各州有多个时区,有 16 个州都有(但只有肯塔基州和南达科他州在该州的大部分地区没有主导时区)。

该数组采用时区到状态的格式,因为相反似乎确实多余(无论如何,我的用例是获取当前时间为中午的状态列表)。如果您确实需要它,那么转换它应该很容易。

I had the same question, and I wound up making this array myself. Here's what I came up with:

$tz_states = array (
    'America/Anchorage'=>array('AK'),
    'America/Boise'=>array('ID'),
    'America/Chicago'=>array('AL', 'AR', 'IL', 'IA', 'KS', 'LA', 'MN', 'MS', 'MO', 'NE', 'OK', 'SD', 'TN', 'TX', 'WI'),
    'America/Denver'=>array('CO', 'MT', 'NM', 'UT', 'WY'),
    'America/Detroit'=>array('MI'),
    'America/Indiana/Indianapolis'=>array('IN'),
    'America/Kentucky/Louisville'=>array('KY'),
    'America/Los_Angeles'=>array('CA', 'NV', 'OR', 'WA'),
    'America/New_York'=>array('CT', 'DE', 'FL', 'GA', 'ME', 'MD', 'MA', 'NH', 'NJ', 'NY', 'NC', 'OH', 'PA', 'RI', 'SC', 'VT', 'VA', 'DC', 'WV'),
    'America/North_Dakota/Center'=>array('ND'),
    'America/Phoenix'=>array('AZ'),
    'Pacific/Honolulu'=>array('HI'),
);

Note that this is inaccurate to the degree that states have multiple time zones, which 16 states do (but only Kentucky and South Dakota don't have a dominant time zone for most of the state).

This array is in timezone-to-states format because the reverse seemed really redundant (and my use case is to get a list of states in which the current time is noon, anyway). It should be easy to convert it if you really need it the other way around.

つ低調成傷 2024-10-09 07:23:54

对于那些需要这种格式的 Brilliand 数组的人。

$tzStates = [
    'AK' => 'America/Anchorage',
    'ID' => 'America/Boise',
    'AL' => 'America/Chicago',
    'AR' => 'America/Chicago',
    'IL' => 'America/Chicago',
    'IA' => 'America/Chicago',
    'KS' => 'America/Chicago',
    'LA' => 'America/Chicago',
    'MN' => 'America/Chicago',
    'MS' => 'America/Chicago',
    'MO' => 'America/Chicago',
    'NE' => 'America/Chicago',
    'OK' => 'America/Chicago',
    'SD' => 'America/Chicago',
    'TN' => 'America/Chicago',
    'TX' => 'America/Chicago',
    'WI' => 'America/Chicago',
    'CO' => 'America/Denver',
    'MT' => 'America/Denver',
    'NM' => 'America/Denver',
    'UT' => 'America/Denver',
    'WY' => 'America/Denver',
    'MI' => 'America/Detroit',
    'IN' => 'America/Indiana/Indianapolis',
    'KY' => 'America/Kentucky/Louisville',
    'CA' => 'America/Los_Angeles',
    'NV' => 'America/Los_Angeles',
    'OR' => 'America/Los_Angeles',
    'WA' => 'America/Los_Angeles',
    'CT' => 'America/New_York',
    'DE' => 'America/New_York',
    'FL' => 'America/New_York',
    'GA' => 'America/New_York',
    'ME' => 'America/New_York',
    'MD' => 'America/New_York',
    'MA' => 'America/New_York',
    'NH' => 'America/New_York',
    'NJ' => 'America/New_York',
    'NY' => 'America/New_York',
    'NC' => 'America/New_York',
    'OH' => 'America/New_York',
    'PA' => 'America/New_York',
    'RI' => 'America/New_York',
    'SC' => 'America/New_York',
    'VT' => 'America/New_York',
    'VA' => 'America/New_York',
    'DC' => 'America/New_York',
    'WV' => 'America/New_York',
    'ND' => 'America/North_Dakota/Center',
    'AZ' => 'America/Phoenix',
    'HI' => 'Pacific/Honolulu'
];

For those that need Brilliand's array in this format.

$tzStates = [
    'AK' => 'America/Anchorage',
    'ID' => 'America/Boise',
    'AL' => 'America/Chicago',
    'AR' => 'America/Chicago',
    'IL' => 'America/Chicago',
    'IA' => 'America/Chicago',
    'KS' => 'America/Chicago',
    'LA' => 'America/Chicago',
    'MN' => 'America/Chicago',
    'MS' => 'America/Chicago',
    'MO' => 'America/Chicago',
    'NE' => 'America/Chicago',
    'OK' => 'America/Chicago',
    'SD' => 'America/Chicago',
    'TN' => 'America/Chicago',
    'TX' => 'America/Chicago',
    'WI' => 'America/Chicago',
    'CO' => 'America/Denver',
    'MT' => 'America/Denver',
    'NM' => 'America/Denver',
    'UT' => 'America/Denver',
    'WY' => 'America/Denver',
    'MI' => 'America/Detroit',
    'IN' => 'America/Indiana/Indianapolis',
    'KY' => 'America/Kentucky/Louisville',
    'CA' => 'America/Los_Angeles',
    'NV' => 'America/Los_Angeles',
    'OR' => 'America/Los_Angeles',
    'WA' => 'America/Los_Angeles',
    'CT' => 'America/New_York',
    'DE' => 'America/New_York',
    'FL' => 'America/New_York',
    'GA' => 'America/New_York',
    'ME' => 'America/New_York',
    'MD' => 'America/New_York',
    'MA' => 'America/New_York',
    'NH' => 'America/New_York',
    'NJ' => 'America/New_York',
    'NY' => 'America/New_York',
    'NC' => 'America/New_York',
    'OH' => 'America/New_York',
    'PA' => 'America/New_York',
    'RI' => 'America/New_York',
    'SC' => 'America/New_York',
    'VT' => 'America/New_York',
    'VA' => 'America/New_York',
    'DC' => 'America/New_York',
    'WV' => 'America/New_York',
    'ND' => 'America/North_Dakota/Center',
    'AZ' => 'America/Phoenix',
    'HI' => 'Pacific/Honolulu'
];
原谅我要高飞 2024-10-09 07:23:54

基于@Brilliand 答案:

$state_timezones = array(
    'AK' => array(
        'name' => 'ALASKA',
        'timezone' => 'AKST',
        'timediff' => '-9',
    ),
    'AL' => array(
        'name' => 'ALABAMA',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'AR' => array(
        'name' => 'ARKANSAS',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'AZ' => array(
        'name' => 'ARIZONA',
        'timezone' => 'MST',
        'timediff' => '-7',
    ),
    'CA' => array(
        'name' => 'CALIFORNIA',
        'timezone' => 'PDT',
        'timediff' => '-8',
    ),
    'CO' => array(
        'name' => 'COLORADO',
        'timezone' => 'MST',
        'timediff' => '-7',
    ),
    'CT' => array(
        'name' => 'CONNECTICUT',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'DC' => array(
        'name' => 'DISTRICT OF COLUMBIA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'DE' => array(
        'name' => 'DELAWARE',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'FL' => array(
        'name' => 'FLORIDA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'GA' => array(
        'name' => 'GEORGIA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'GU' => array(
        'name' => 'GUAM GU',
        'timezone' => 'ChST',
        'timediff' => '-10',
    ),
    'HI' => array(
        'name' => 'HAWAII',
        'timezone' => 'HST',
        'timediff' => '-10',
    ),
    'IA' => array(
        'name' => 'IOWA',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'ID' => array(
        'name' => 'IDAHO',
        'timezone' => 'MDT',
        'timediff' => '-7',
    ),
    'IL' => array(
        'name' => 'ILLINOIS',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'IN' => array(
        'name' => 'INDIANA',
        'timezone' => 'EST',
        'timediff' => '-5',
    ),
    'KS' => array(
        'name' => 'KANSAS',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'KY' => array(
        'name' => 'KENTUCKY',
        'timezone' => 'EST',
        'timediff' => '-6',
    ),
    'LA' => array(
        'name' => 'LOUISIANA',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'MA' => array(
        'name' => 'MASSACHUSETTS',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'MD' => array(
        'name' => 'MARYLAND',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'ME' => array(
        'name' => 'MAINE',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'MI' => array(
        'name' => 'MICHIGAN',
        'timezone' => 'America/Detroit',
        'timediff' => '-5',
    ),
    'MN' => array(
        'name' => 'MINNESOTA',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'MO' => array(
        'name' => 'MISSOURI',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'MS' => array(
        'name' => 'MISSISSIPPI',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'MT' => array(
        'name' => 'MONTANA',
        'timezone' => 'MST',
        'timediff' => '-7',
    ),
    'NC' => array(
        'name' => 'NORTH CAROLINA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'ND' => array(
        'name' => 'NORTH DAKOTA',
        'timezone' => 'CST',
        'timediff' => '-7',
    ),
    'NE' => array(
        'name' => 'NEBRASKA',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'NH' => array(
        'name' => 'NEW HAMPSHIRE',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'NJ' => array(
        'name' => 'NEW JERSEY',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'NM' => array(
        'name' => 'NEW MEXICO',
        'timezone' => 'MST',
        'timediff' => '-7',
    ),
    'NV' => array(
        'name' => 'NEVADA',
        'timezone' => 'PDT',
        'timediff' => '-8',
    ),
    'NY' => array(
        'name' => 'NEW YORK',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'OH' => array(
        'name' => 'OHIO',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'OK' => array(
        'name' => 'OKLAHOMA',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'OR' => array(
        'name' => 'OREGON',
        'timezone' => 'PDT',
        'timediff' => '-8',
    ),
    'PA' => array(
        'name' => 'PENNSYLVANIA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'PR' => array(
        'name' => 'PUERTO RICO',
        'timezone' => 'AST',
        'timediff' => '-4',
    ),
    'RI' => array(
        'name' => 'RHODE ISLAND',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'SC' => array(
        'name' => 'SOUTH CAROLINA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'SD' => array(
        'name' => 'SOUTH DAKOTA',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'TN' => array(
        'name' => 'TENNESSEE',
        'timezone' => 'CDT',
        'timediff' => '-5',
    ),
    'TX' => array(
        'name' => 'TEXAS',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'UT' => array(
        'name' => 'UTAH',
        'timezone' => 'MST',
        'timediff' => '-7',
    ),
    'VA' => array(
        'name' => 'VIRGINIA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'VI' => array(
        'name' => 'VIRGIN ISLANDS',
        'timezone' => 'AST',
        'timediff' => '-4',
    ),
    'VT' => array(
        'name' => 'VERMONT',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'WA' => array(
        'name' => 'WASHINGTON',
        'timezone' => 'PDT',
        'timediff' => '-8',
    ),
    'WI' => array(
        'name' => 'WISCONSIN',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'WV' => array(
        'name' => 'WEST VIRGINIA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'WY' => array(
        'name' => 'WYOMING',
        'timezone' => 'MST',
        'timediff' => '-7',
    ),
);

当然,有些州有两个不同的时区,所以如果您处理敏感数据,请尝试其他答案!

当心!这里不考虑夏令时

Based of @Brilliand answer:

$state_timezones = array(
    'AK' => array(
        'name' => 'ALASKA',
        'timezone' => 'AKST',
        'timediff' => '-9',
    ),
    'AL' => array(
        'name' => 'ALABAMA',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'AR' => array(
        'name' => 'ARKANSAS',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'AZ' => array(
        'name' => 'ARIZONA',
        'timezone' => 'MST',
        'timediff' => '-7',
    ),
    'CA' => array(
        'name' => 'CALIFORNIA',
        'timezone' => 'PDT',
        'timediff' => '-8',
    ),
    'CO' => array(
        'name' => 'COLORADO',
        'timezone' => 'MST',
        'timediff' => '-7',
    ),
    'CT' => array(
        'name' => 'CONNECTICUT',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'DC' => array(
        'name' => 'DISTRICT OF COLUMBIA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'DE' => array(
        'name' => 'DELAWARE',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'FL' => array(
        'name' => 'FLORIDA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'GA' => array(
        'name' => 'GEORGIA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'GU' => array(
        'name' => 'GUAM GU',
        'timezone' => 'ChST',
        'timediff' => '-10',
    ),
    'HI' => array(
        'name' => 'HAWAII',
        'timezone' => 'HST',
        'timediff' => '-10',
    ),
    'IA' => array(
        'name' => 'IOWA',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'ID' => array(
        'name' => 'IDAHO',
        'timezone' => 'MDT',
        'timediff' => '-7',
    ),
    'IL' => array(
        'name' => 'ILLINOIS',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'IN' => array(
        'name' => 'INDIANA',
        'timezone' => 'EST',
        'timediff' => '-5',
    ),
    'KS' => array(
        'name' => 'KANSAS',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'KY' => array(
        'name' => 'KENTUCKY',
        'timezone' => 'EST',
        'timediff' => '-6',
    ),
    'LA' => array(
        'name' => 'LOUISIANA',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'MA' => array(
        'name' => 'MASSACHUSETTS',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'MD' => array(
        'name' => 'MARYLAND',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'ME' => array(
        'name' => 'MAINE',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'MI' => array(
        'name' => 'MICHIGAN',
        'timezone' => 'America/Detroit',
        'timediff' => '-5',
    ),
    'MN' => array(
        'name' => 'MINNESOTA',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'MO' => array(
        'name' => 'MISSOURI',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'MS' => array(
        'name' => 'MISSISSIPPI',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'MT' => array(
        'name' => 'MONTANA',
        'timezone' => 'MST',
        'timediff' => '-7',
    ),
    'NC' => array(
        'name' => 'NORTH CAROLINA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'ND' => array(
        'name' => 'NORTH DAKOTA',
        'timezone' => 'CST',
        'timediff' => '-7',
    ),
    'NE' => array(
        'name' => 'NEBRASKA',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'NH' => array(
        'name' => 'NEW HAMPSHIRE',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'NJ' => array(
        'name' => 'NEW JERSEY',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'NM' => array(
        'name' => 'NEW MEXICO',
        'timezone' => 'MST',
        'timediff' => '-7',
    ),
    'NV' => array(
        'name' => 'NEVADA',
        'timezone' => 'PDT',
        'timediff' => '-8',
    ),
    'NY' => array(
        'name' => 'NEW YORK',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'OH' => array(
        'name' => 'OHIO',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'OK' => array(
        'name' => 'OKLAHOMA',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'OR' => array(
        'name' => 'OREGON',
        'timezone' => 'PDT',
        'timediff' => '-8',
    ),
    'PA' => array(
        'name' => 'PENNSYLVANIA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'PR' => array(
        'name' => 'PUERTO RICO',
        'timezone' => 'AST',
        'timediff' => '-4',
    ),
    'RI' => array(
        'name' => 'RHODE ISLAND',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'SC' => array(
        'name' => 'SOUTH CAROLINA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'SD' => array(
        'name' => 'SOUTH DAKOTA',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'TN' => array(
        'name' => 'TENNESSEE',
        'timezone' => 'CDT',
        'timediff' => '-5',
    ),
    'TX' => array(
        'name' => 'TEXAS',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'UT' => array(
        'name' => 'UTAH',
        'timezone' => 'MST',
        'timediff' => '-7',
    ),
    'VA' => array(
        'name' => 'VIRGINIA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'VI' => array(
        'name' => 'VIRGIN ISLANDS',
        'timezone' => 'AST',
        'timediff' => '-4',
    ),
    'VT' => array(
        'name' => 'VERMONT',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'WA' => array(
        'name' => 'WASHINGTON',
        'timezone' => 'PDT',
        'timediff' => '-8',
    ),
    'WI' => array(
        'name' => 'WISCONSIN',
        'timezone' => 'CDT',
        'timediff' => '-6',
    ),
    'WV' => array(
        'name' => 'WEST VIRGINIA',
        'timezone' => 'EDT',
        'timediff' => '-5',
    ),
    'WY' => array(
        'name' => 'WYOMING',
        'timezone' => 'MST',
        'timediff' => '-7',
    ),
);

Of course some states has two different timezones, so if your working on sensitive data, try some other answer!

Be careful! Daylight Saving Times are not considered here!

厌味 2024-10-09 07:23:54

这是一个列表:http://en.wikipedia.org/wiki/List_of_U.S. _states_by_time_zone
您现在可以创建一个关联数组;)

Here is a list: http://en.wikipedia.org/wiki/List_of_U.S._states_by_time_zone.
You can make an assciative array now ;)

赤濁 2024-10-09 07:23:54

由于有些州有多个时区,我想您不会找到这样的数组。

As there are states with multiple timezones I guess you would'nt find such an array.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文