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!
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!
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.
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'
];
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!
Here is a list: http://en.wikipedia.org/wiki/List_of_U.S._states_by_time_zone. You can make an assciative array now ;)
As there are states with multiple timezones I guess you would'nt find such an array.