2010-11-14 3 views
3

Je suis à la recherche d'un tableau avec les États-Unis et le fuseau horaire. Quelque chose commephp array avec état à timezone off set

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

J'ai fait Google beaucoup mais je ne peux pas en trouver un. S'il vous plaît aidez-moi si vous en avez un. Merci beaucoup!

+1

Base sur http://www.timetemperature.com/tzus/time_zone.shtml, voici ma réponse – Quy

Répondre

0

Comme il y a des états avec plusieurs fuseaux horaires, je suppose que vous would'nt trouvez un tel tableau.

+0

Base sur, voici mon – Quy

8

J'ai eu la même question, et j'ai fini par faire ce tableau moi-même. Voici ce que je suis venu avec:

$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'), 
); 

Notez que cela est inexact dans la mesure où les Etats ont plusieurs fuseaux horaires, dont 16 états ne (mais seulement le Kentucky et le Dakota du Sud ne sont pas une zone de temps dominante pour la plupart de l'État).

Ce tableau est au format fuseau horaire car l'inverse semble vraiment redondant (et mon cas d'utilisation est d'obtenir une liste d'états dans lesquels l'heure actuelle est midi, de toute façon). Il devrait être facile de le convertir si vous en avez vraiment besoin dans l'autre sens.

2

Blockquote

Sur la base de la réponse @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', 
    ), 
); 

Ofcourse certains Etats a deux fuseaux horaires différents, donc si votre travail sur des données sensibles, essayez une autre réponse!

Soyez prudent! Les heures d'été ne sont pas considérées ici!