米国の州とタイムゾーンの配列を探しています。何かのようなもの
$arr_states_timezone = array('WA'=>"PST",...);
私はたくさんのグーグルをしましたが、見つけることができません。お持ちの方がいらっしゃいましたらお助けください。どうもありがとう!
同じ質問があり、この配列を自分で作成することになりました。これが私が思いついたものです:
$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 の州が複数のタイム ゾーンを持っているため、不正確であることに注意してください (ただし、ケンタッキー州とサウス ダコタ州だけは、ほとんどの州で主要なタイム ゾーンを持っていません)。
この配列は、タイムゾーンから州への形式になっています。これは、逆は非常に冗長に見えるためです (私の使用例は、現在の時刻が正午である州のリストを取得することです)。逆に本当に必要な場合は、簡単に変換できるはずです。
@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',
),
);
もちろん、州によっては 2 つの異なるタイムゾーンがあるため、機密データを扱っている場合は、別の回答を試してください。
気をつけて!ここではサマータイムは考慮されていません。
リストは次のとおりです: http://en.wikipedia.org/wiki/List_of_U.S._states_by_time_zone。これで連想配列を作成できます ;)
複数のタイムゾーンを持つ州があるため、そのような配列は見つからないと思います。