home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Servidores / xampp-win32-1.6.7-installer.exe / php / PEAR / I18Nv2 / Timezone.php < prev   
Encoding:
PHP Script  |  2008-07-02  |  19.9 KB  |  985 lines

  1. <?php
  2. // +----------------------------------------------------------------------+
  3. // | PEAR :: I18Nv2 :: Timezone                                           |
  4. // +----------------------------------------------------------------------+
  5. // | This source file is subject to version 3.0 of the PHP license,       |
  6. // | that is available at http://www.php.net/license/3_0.txt              |
  7. // | If you did not receive a copy of the PHP license and are unable      |
  8. // | to obtain it through the world-wide-web, please send a note to       |
  9. // | license@php.net so we can mail you a copy immediately.               |
  10. // +----------------------------------------------------------------------+
  11. // | Copyright (c) 2004 Michael Wallner <mike@iworks.at>                  |
  12. // +----------------------------------------------------------------------+
  13. //
  14. // $Id: Timezone.php,v 1.2 2005/11/28 15:33:22 mike Exp $
  15.  
  16. /**
  17.  * I18Nv2::Timezone
  18.  * 
  19.  * @package     I18Nv2
  20.  * @category    Internationalization
  21.  */
  22.  
  23. /**
  24.  * I18Nv2_Timezone
  25.  *
  26.  * Map of country codes to time zone names.
  27.  * 
  28.  * Note that:
  29.  * AX is not in country list
  30.  * CS is not in country list
  31.  * BV (Bouvet Island) is not in time zones list
  32.  * HM (Heard Island And Mcdonald Islands) is not in time zones list
  33.  * SP (Serbia) is not in time zones list
  34.  * YU (Serbia And Montenegro) is not in time zones list
  35.  * 
  36.  * @author      Michael Wallner <mike@php.net>
  37.  * @version     $Revision: 1.2 $
  38.  * @package     I18Nv2
  39.  * @access      public
  40.  * @static
  41.  */
  42. class I18Nv2_Timezone
  43. {
  44.     /**
  45.      * For Country
  46.      * 
  47.      * @static
  48.      * @access  public
  49.      * @return  array   time zones applicable for the country
  50.      * @param   string  $country ISO country code
  51.      */
  52.     function forCountry($country)
  53.     {
  54.         $country = strToUpper($country);
  55.         return isset($GLOBALS['_I18Nv2_Timezones'][$country]) ?
  56.             $GLOBALS['_I18Nv2_Timezones'][$country] : array();
  57.     }
  58.     
  59.     /**
  60.      * For Continent
  61.      * 
  62.      * @static
  63.      * @access  public
  64.      * @return  array   time zones applicable for the "continent"
  65.      * @param   string  $continent  Europe|America|Africa|Asia|Pacific|Australia|
  66.      *                              Indian|Atlantic|Antartica
  67.      */
  68.     function forContinent($continent)
  69.     {
  70.         $continent = ucFirst(strToLower($continent));
  71.         
  72.         if (!count($GLOBALS['_I18Nv2_Continental_Timezones'])) {
  73.             foreach (I18Nv2_Timezone::getAll(true) as $tz) {
  74.                 $cn = current($a = explode('/', $tz, 2));
  75.                 $GLOBALS['_I18Nv2_Continental_Timeszones'][$cn][] = $tz;
  76.             }
  77.         }
  78.         
  79.         return isset($GLOBALS['_I18Nv2_Continental_Timeszones'][$continent]) ?
  80.             $GLOBALS['_I18Nv2_Continental_Timeszones'][$continent] : array();
  81.     }
  82.     
  83.     /**
  84.      * Exists
  85.      * 
  86.      * @static
  87.      * @access  public
  88.      * @return  bool
  89.      * @param   string  $timezone
  90.      */
  91.     function exists($timezone)
  92.     {
  93.         return in_array($timezone, I18Nv2_Timezone::getAll(true));
  94.     }
  95.     
  96.     /**
  97.      * Get All
  98.      * 
  99.      * @static
  100.      * @access  public
  101.      * @return  array
  102.      * @param   bool    $merged
  103.      */
  104.     function getAll($merged = false)
  105.     {
  106.         if ($merged) {
  107.             if (!count($GLOBALS['_I18Nv2_Merged_Timezones'])) {
  108.                 $GLOBALS['_I18Nv2_Merged_Timezones'] = call_user_func_array(
  109.                     'array_merge', $GLOBALS['_I18Nv2_Timezones']);
  110.             }
  111.             return $GLOBALS['_I18Nv2_Merged_Timezones'];
  112.         }
  113.         return $GLOBALS['_I18Nv2_Timezones'];
  114.     }
  115.     
  116. }
  117.  
  118. $GLOBALS['_I18Nv2_Continental_Timezones'] = array();
  119. $GLOBALS['_I18Nv2_Merged_Timezones'] = array();
  120. $GLOBALS['_I18Nv2_Timezones'] = array(
  121.     'AD' => array(
  122.         'Europe/Andorra',
  123.     ),
  124.     'AE' => array(
  125.         'Asia/Dubai',
  126.     ),
  127.     'AF' => array(
  128.         'Asia/Kabul',
  129.     ),
  130.     'AG' => array(
  131.         'America/Antigua',
  132.     ),
  133.     'AI' => array(
  134.         'America/Anguilla',
  135.     ),
  136.     'AL' => array(
  137.         'Europe/Tirane',
  138.     ),
  139.     'AM' => array(
  140.         'Asia/Yerevan',
  141.     ),
  142.     'AN' => array(
  143.         'America/Curacao',
  144.     ),
  145.     'AO' => array(
  146.         'Africa/Luanda',
  147.     ),
  148.     'AQ' => array(
  149.         'Antarctica/McMurdo',
  150.         'Antarctica/South_Pole',
  151.         'Antarctica/Rothera',
  152.         'Antarctica/Palmer',
  153.         'Antarctica/Mawson',
  154.         'Antarctica/Davis',
  155.         'Antarctica/Casey',
  156.         'Antarctica/Vostok',
  157.         'Antarctica/DumontDUrville',
  158.         'Antarctica/Syowa',
  159.     ),
  160.     'AR' => array(
  161.         'America/Argentina/Buenos_Aires',
  162.         'America/Argentina/Cordoba',
  163.         'America/Argentina/Jujuy',
  164.         'America/Argentina/Tucuman',
  165.         'America/Argentina/Catamarca',
  166.         'America/Argentina/La_Rioja',
  167.         'America/Argentina/San_Juan',
  168.         'America/Argentina/Mendoza',
  169.         'America/Argentina/ComodRivadavia',
  170.         'America/Argentina/Rio_Gallegos',
  171.         'America/Argentina/Ushuaia',
  172.     ),
  173.     'AS' => array(
  174.         'Pacific/Pago_Pago',
  175.     ),
  176.     'AT' => array(
  177.         'Europe/Vienna',
  178.     ),
  179.     'AU' => array(
  180.         'Australia/Lord_Howe',
  181.         'Australia/Hobart',
  182.         'Australia/Melbourne',
  183.         'Australia/Sydney',
  184.         'Australia/Broken_Hill',
  185.         'Australia/Brisbane',
  186.         'Australia/Lindeman',
  187.         'Australia/Adelaide',
  188.         'Australia/Darwin',
  189.         'Australia/Perth',
  190.     ),
  191.     'AW' => array(
  192.         'America/Aruba',
  193.     ),
  194.     'AX' => array(
  195.         'Europe/Mariehamn',
  196.     ),
  197.     'AZ' => array(
  198.         'Asia/Baku',
  199.     ),
  200.     'BA' => array(
  201.         'Europe/Sarajevo',
  202.     ),
  203.     'BB' => array(
  204.         'America/Barbados',
  205.     ),
  206.     'BD' => array(
  207.         'Asia/Dhaka',
  208.     ),
  209.     'BE' => array(
  210.         'Europe/Brussels',
  211.     ),
  212.     'BF' => array(
  213.         'Africa/Ouagadougou',
  214.     ),
  215.     'BG' => array(
  216.         'Europe/Sofia',
  217.     ),
  218.     'BH' => array(
  219.         'Asia/Bahrain',
  220.     ),
  221.     'BI' => array(
  222.         'Africa/Bujumbura',
  223.     ),
  224.     'BJ' => array(
  225.         'Africa/Porto-Novo',
  226.     ),
  227.     'BM' => array(
  228.         'Atlantic/Bermuda',
  229.     ),
  230.     'BN' => array(
  231.         'Asia/Brunei',
  232.     ),
  233.     'BO' => array(
  234.         'America/La_Paz',
  235.     ),
  236.     'BR' => array(
  237.         'America/Noronha',
  238.         'America/Belem',
  239.         'America/Fortaleza',
  240.         'America/Recife',
  241.         'America/Araguaina',
  242.         'America/Maceio',
  243.         'America/Bahia',
  244.         'America/Sao_Paulo',
  245.         'America/Campo_Grande',
  246.         'America/Cuiaba',
  247.         'America/Porto_Velho',
  248.         'America/Boa_Vista',
  249.         'America/Manaus',
  250.         'America/Eirunepe',
  251.         'America/Rio_Branco',
  252.     ),
  253.     'BS' => array(
  254.         'America/Nassau',
  255.     ),
  256.     'BT' => array(
  257.         'Asia/Thimphu',
  258.     ),
  259.     'BW' => array(
  260.         'Africa/Gaborone',
  261.     ),
  262.     'BY' => array(
  263.         'Europe/Minsk',
  264.     ),
  265.     'BZ' => array(
  266.         'America/Belize',
  267.     ),
  268.     'CA' => array(
  269.         'America/St_Johns',
  270.         'America/Halifax',
  271.         'America/Glace_Bay',
  272.         'America/Goose_Bay',
  273.         'America/Montreal',
  274.         'America/Toronto',
  275.         'America/Nipigon',
  276.         'America/Thunder_Bay',
  277.         'America/Pangnirtung',
  278.         'America/Iqaluit',
  279.         'America/Rankin_Inlet',
  280.         'America/Winnipeg',
  281.         'America/Rainy_River',
  282.         'America/Cambridge_Bay',
  283.         'America/Regina',
  284.         'America/Swift_Current',
  285.         'America/Edmonton',
  286.         'America/Yellowknife',
  287.         'America/Inuvik',
  288.         'America/Dawson_Creek',
  289.         'America/Vancouver',
  290.         'America/Whitehorse',
  291.         'America/Dawson',
  292.     ),
  293.     'CC' => array(
  294.         'Indian/Cocos',
  295.     ),
  296.     'CD' => array(
  297.         'Africa/Kinshasa',
  298.         'Africa/Lubumbashi',
  299.     ),
  300.     'CF' => array(
  301.         'Africa/Bangui',
  302.     ),
  303.     'CG' => array(
  304.         'Africa/Brazzaville',
  305.     ),
  306.     'CH' => array(
  307.         'Europe/Zurich',
  308.     ),
  309.     'CI' => array(
  310.         'Africa/Abidjan',
  311.     ),
  312.     'CK' => array(
  313.         'Pacific/Rarotonga',
  314.     ),
  315.     'CL' => array(
  316.         'America/Santiago',
  317.         'Pacific/Easter',
  318.     ),
  319.     'CM' => array(
  320.         'Africa/Douala',
  321.     ),
  322.     'CN' => array(
  323.         'Asia/Shanghai',
  324.         'Asia/Harbin',
  325.         'Asia/Chongqing',
  326.         'Asia/Urumqi',
  327.         'Asia/Kashgar',
  328.     ),
  329.     'CO' => array(
  330.         'America/Bogota',
  331.     ),
  332.     'CR' => array(
  333.         'America/Costa_Rica',
  334.     ),
  335.     'CS' => array(
  336.         'Europe/Belgrade',
  337.     ),
  338.     'CU' => array(
  339.         'America/Havana',
  340.     ),
  341.     'CV' => array(
  342.         'Atlantic/Cape_Verde',
  343.     ),
  344.     'CX' => array(
  345.         'Indian/Christmas',
  346.     ),
  347.     'CY' => array(
  348.         'Asia/Nicosia',
  349.     ),
  350.     'CZ' => array(
  351.         'Europe/Prague',
  352.     ),
  353.     'DE' => array(
  354.         'Europe/Berlin',
  355.     ),
  356.     'DJ' => array(
  357.         'Africa/Djibouti',
  358.     ),
  359.     'DK' => array(
  360.         'Europe/Copenhagen',
  361.     ),
  362.     'DM' => array(
  363.         'America/Dominica',
  364.     ),
  365.     'DO' => array(
  366.         'America/Santo_Domingo',
  367.     ),
  368.     'DZ' => array(
  369.         'Africa/Algiers',
  370.     ),
  371.     'EC' => array(
  372.         'America/Guayaquil',
  373.         'Pacific/Galapagos',
  374.     ),
  375.     'EE' => array(
  376.         'Europe/Tallinn',
  377.     ),
  378.     'EG' => array(
  379.         'Africa/Cairo',
  380.     ),
  381.     'EH' => array(
  382.         'Africa/El_Aaiun',
  383.     ),
  384.     'ER' => array(
  385.         'Africa/Asmera',
  386.     ),
  387.     'ES' => array(
  388.         'Europe/Madrid',
  389.         'Africa/Ceuta',
  390.         'Atlantic/Canary',
  391.     ),
  392.     'ET' => array(
  393.         'Africa/Addis_Ababa',
  394.     ),
  395.     'FI' => array(
  396.         'Europe/Helsinki',
  397.     ),
  398.     'FJ' => array(
  399.         'Pacific/Fiji',
  400.     ),
  401.     'FK' => array(
  402.         'Atlantic/Stanley',
  403.     ),
  404.     'FM' => array(
  405.         'Pacific/Yap',
  406.         'Pacific/Truk',
  407.         'Pacific/Ponape',
  408.         'Pacific/Kosrae',
  409.     ),
  410.     'FO' => array(
  411.         'Atlantic/Faeroe',
  412.     ),
  413.     'FR' => array(
  414.         'Europe/Paris',
  415.     ),
  416.     'GA' => array(
  417.         'Africa/Libreville',
  418.     ),
  419.     'GB' => array(
  420.         'Europe/London',
  421.         'Europe/Belfast',
  422.     ),
  423.     'GD' => array(
  424.         'America/Grenada',
  425.     ),
  426.     'GE' => array(
  427.         'Asia/Tbilisi',
  428.     ),
  429.     'GF' => array(
  430.         'America/Cayenne',
  431.     ),
  432.     'GH' => array(
  433.         'Africa/Accra',
  434.     ),
  435.     'GI' => array(
  436.         'Europe/Gibraltar',
  437.     ),
  438.     'GL' => array(
  439.         'America/Godthab',
  440.         'America/Danmarkshavn',
  441.         'America/Scoresbysund',
  442.         'America/Thule',
  443.     ),
  444.     'GM' => array(
  445.         'Africa/Banjul',
  446.     ),
  447.     'GN' => array(
  448.         'Africa/Conakry',
  449.     ),
  450.     'GP' => array(
  451.         'America/Guadeloupe',
  452.     ),
  453.     'GQ' => array(
  454.         'Africa/Malabo',
  455.     ),
  456.     'GR' => array(
  457.         'Europe/Athens',
  458.     ),
  459.     'GS' => array(
  460.         'Atlantic/South_Georgia',
  461.     ),
  462.     'GT' => array(
  463.         'America/Guatemala',
  464.     ),
  465.     'GU' => array(
  466.         'Pacific/Guam',
  467.     ),
  468.     'GW' => array(
  469.         'Africa/Bissau',
  470.     ),
  471.     'GY' => array(
  472.         'America/Guyana',
  473.     ),
  474.     'HK' => array(
  475.         'Asia/Hong_Kong',
  476.     ),
  477.     'HN' => array(
  478.         'America/Tegucigalpa',
  479.     ),
  480.     'HR' => array(
  481.         'Europe/Zagreb',
  482.     ),
  483.     'HT' => array(
  484.         'America/Port-au-Prince',
  485.     ),
  486.     'HU' => array(
  487.         'Europe/Budapest',
  488.     ),
  489.     'ID' => array(
  490.         'Asia/Jakarta',
  491.         'Asia/Pontianak',
  492.         'Asia/Makassar',
  493.         'Asia/Jayapura',
  494.     ),
  495.     'IE' => array(
  496.         'Europe/Dublin',
  497.     ),
  498.     'IL' => array(
  499.         'Asia/Jerusalem',
  500.     ),
  501.     'IN' => array(
  502.         'Asia/Calcutta',
  503.     ),
  504.     'IO' => array(
  505.         'Indian/Chagos',
  506.     ),
  507.     'IQ' => array(
  508.         'Asia/Baghdad',
  509.     ),
  510.     'IR' => array(
  511.         'Asia/Tehran',
  512.     ),
  513.     'IS' => array(
  514.         'Atlantic/Reykjavik',
  515.     ),
  516.     'IT' => array(
  517.         'Europe/Rome',
  518.     ),
  519.     'JM' => array(
  520.         'America/Jamaica',
  521.     ),
  522.     'JO' => array(
  523.         'Asia/Amman',
  524.     ),
  525.     'JP' => array(
  526.         'Asia/Tokyo',
  527.     ),
  528.     'KE' => array(
  529.         'Africa/Nairobi',
  530.     ),
  531.     'KG' => array(
  532.         'Asia/Bishkek',
  533.     ),
  534.     'KH' => array(
  535.         'Asia/Phnom_Penh',
  536.     ),
  537.     'KI' => array(
  538.         'Pacific/Tarawa',
  539.         'Pacific/Enderbury',
  540.         'Pacific/Kiritimati',
  541.     ),
  542.     'KM' => array(
  543.         'Indian/Comoro',
  544.     ),
  545.     'KN' => array(
  546.         'America/St_Kitts',
  547.     ),
  548.     'KP' => array(
  549.         'Asia/Pyongyang',
  550.     ),
  551.     'KR' => array(
  552.         'Asia/Seoul',
  553.     ),
  554.     'KW' => array(
  555.         'Asia/Kuwait',
  556.     ),
  557.     'KY' => array(
  558.         'America/Cayman',
  559.     ),
  560.     'KZ' => array(
  561.         'Asia/Almaty',
  562.         'Asia/Qyzylorda',
  563.         'Asia/Aqtobe',
  564.         'Asia/Aqtau',
  565.         'Asia/Oral',
  566.     ),
  567.     'LA' => array(
  568.         'Asia/Vientiane',
  569.     ),
  570.     'LB' => array(
  571.         'Asia/Beirut',
  572.     ),
  573.     'LC' => array(
  574.         'America/St_Lucia',
  575.     ),
  576.     'LI' => array(
  577.         'Europe/Vaduz',
  578.     ),
  579.     'LK' => array(
  580.         'Asia/Colombo',
  581.     ),
  582.     'LR' => array(
  583.         'Africa/Monrovia',
  584.     ),
  585.     'LS' => array(
  586.         'Africa/Maseru',
  587.     ),
  588.     'LT' => array(
  589.         'Europe/Vilnius',
  590.     ),
  591.     'LU' => array(
  592.         'Europe/Luxembourg',
  593.     ),
  594.     'LV' => array(
  595.         'Europe/Riga',
  596.     ),
  597.     'LY' => array(
  598.         'Africa/Tripoli',
  599.     ),
  600.     'MA' => array(
  601.         'Africa/Casablanca',
  602.     ),
  603.     'MC' => array(
  604.         'Europe/Monaco',
  605.     ),
  606.     'MD' => array(
  607.         'Europe/Chisinau',
  608.     ),
  609.     'MG' => array(
  610.         'Indian/Antananarivo',
  611.     ),
  612.     'MH' => array(
  613.         'Pacific/Majuro',
  614.         'Pacific/Kwajalein',
  615.     ),
  616.     'MK' => array(
  617.         'Europe/Skopje',
  618.     ),
  619.     'ML' => array(
  620.         'Africa/Bamako',
  621.         'Africa/Timbuktu',
  622.     ),
  623.     'MM' => array(
  624.         'Asia/Rangoon',
  625.     ),
  626.     'MN' => array(
  627.         'Asia/Ulaanbaatar',
  628.         'Asia/Hovd',
  629.         'Asia/Choibalsan',
  630.     ),
  631.     'MO' => array(
  632.         'Asia/Macau',
  633.     ),
  634.     'MP' => array(
  635.         'Pacific/Saipan',
  636.     ),
  637.     'MQ' => array(
  638.         'America/Martinique',
  639.     ),
  640.     'MR' => array(
  641.         'Africa/Nouakchott',
  642.     ),
  643.     'MS' => array(
  644.         'America/Montserrat',
  645.     ),
  646.     'MT' => array(
  647.         'Europe/Malta',
  648.     ),
  649.     'MU' => array(
  650.         'Indian/Mauritius',
  651.     ),
  652.     'MV' => array(
  653.         'Indian/Maldives',
  654.     ),
  655.     'MW' => array(
  656.         'Africa/Blantyre',
  657.     ),
  658.     'MX' => array(
  659.         'America/Mexico_City',
  660.         'America/Cancun',
  661.         'America/Merida',
  662.         'America/Monterrey',
  663.         'America/Mazatlan',
  664.         'America/Chihuahua',
  665.         'America/Hermosillo',
  666.         'America/Tijuana',
  667.     ),
  668.     'MY' => array(
  669.         'Asia/Kuala_Lumpur',
  670.         'Asia/Kuching',
  671.     ),
  672.     'MZ' => array(
  673.         'Africa/Maputo',
  674.     ),
  675.     'NA' => array(
  676.         'Africa/Windhoek',
  677.     ),
  678.     'NC' => array(
  679.         'Pacific/Noumea',
  680.     ),
  681.     'NE' => array(
  682.         'Africa/Niamey',
  683.     ),
  684.     'NF' => array(
  685.         'Pacific/Norfolk',
  686.     ),
  687.     'NG' => array(
  688.         'Africa/Lagos',
  689.     ),
  690.     'NI' => array(
  691.         'America/Managua',
  692.     ),
  693.     'NL' => array(
  694.         'Europe/Amsterdam',
  695.     ),
  696.     'NO' => array(
  697.         'Europe/Oslo',
  698.     ),
  699.     'NP' => array(
  700.         'Asia/Katmandu',
  701.     ),
  702.     'NR' => array(
  703.         'Pacific/Nauru',
  704.     ),
  705.     'NU' => array(
  706.         'Pacific/Niue',
  707.     ),
  708.     'NZ' => array(
  709.         'Pacific/Auckland',
  710.         'Pacific/Chatham',
  711.     ),
  712.     'OM' => array(
  713.         'Asia/Muscat',
  714.     ),
  715.     'PA' => array(
  716.         'America/Panama',
  717.     ),
  718.     'PE' => array(
  719.         'America/Lima',
  720.     ),
  721.     'PF' => array(
  722.         'Pacific/Tahiti',
  723.         'Pacific/Marquesas',
  724.         'Pacific/Gambier',
  725.     ),
  726.     'PG' => array(
  727.         'Pacific/Port_Moresby',
  728.     ),
  729.     'PH' => array(
  730.         'Asia/Manila',
  731.     ),
  732.     'PK' => array(
  733.         'Asia/Karachi',
  734.     ),
  735.     'PL' => array(
  736.         'Europe/Warsaw',
  737.     ),
  738.     'PM' => array(
  739.         'America/Miquelon',
  740.     ),
  741.     'PN' => array(
  742.         'Pacific/Pitcairn',
  743.     ),
  744.     'PR' => array(
  745.         'America/Puerto_Rico',
  746.     ),
  747.     'PS' => array(
  748.         'Asia/Gaza',
  749.     ),
  750.     'PT' => array(
  751.         'Europe/Lisbon',
  752.         'Atlantic/Madeira',
  753.         'Atlantic/Azores',
  754.     ),
  755.     'PW' => array(
  756.         'Pacific/Palau',
  757.     ),
  758.     'PY' => array(
  759.         'America/Asuncion',
  760.     ),
  761.     'QA' => array(
  762.         'Asia/Qatar',
  763.     ),
  764.     'RE' => array(
  765.         'Indian/Reunion',
  766.     ),
  767.     'RO' => array(
  768.         'Europe/Bucharest',
  769.     ),
  770.     'RU' => array(
  771.         'Europe/Kaliningrad',
  772.         'Europe/Moscow',
  773.         'Europe/Samara',
  774.         'Asia/Yekaterinburg',
  775.         'Asia/Omsk',
  776.         'Asia/Novosibirsk',
  777.         'Asia/Krasnoyarsk',
  778.         'Asia/Irkutsk',
  779.         'Asia/Yakutsk',
  780.         'Asia/Vladivostok',
  781.         'Asia/Sakhalin',
  782.         'Asia/Magadan',
  783.         'Asia/Kamchatka',
  784.         'Asia/Anadyr',
  785.     ),
  786.     'RW' => array(
  787.         'Africa/Kigali',
  788.     ),
  789.     'SA' => array(
  790.         'Asia/Riyadh',
  791.     ),
  792.     'SB' => array(
  793.         'Pacific/Guadalcanal',
  794.     ),
  795.     'SC' => array(
  796.         'Indian/Mahe',
  797.     ),
  798.     'SD' => array(
  799.         'Africa/Khartoum',
  800.     ),
  801.     'SE' => array(
  802.         'Europe/Stockholm',
  803.     ),
  804.     'SG' => array(
  805.         'Asia/Singapore',
  806.     ),
  807.     'SH' => array(
  808.         'Atlantic/St_Helena',
  809.     ),
  810.     'SI' => array(
  811.         'Europe/Ljubljana',
  812.     ),
  813.     'SJ' => array(
  814.         'Arctic/Longyearbyen',
  815.         'Atlantic/Jan_Mayen',
  816.     ),
  817.     'SK' => array(
  818.         'Europe/Bratislava',
  819.     ),
  820.     'SL' => array(
  821.         'Africa/Freetown',
  822.     ),
  823.     'SM' => array(
  824.         'Europe/San_Marino',
  825.     ),
  826.     'SN' => array(
  827.         'Africa/Dakar',
  828.     ),
  829.     'SO' => array(
  830.         'Africa/Mogadishu',
  831.     ),
  832.     'SR' => array(
  833.         'America/Paramaribo',
  834.     ),
  835.     'ST' => array(
  836.         'Africa/Sao_Tome',
  837.     ),
  838.     'SV' => array(
  839.         'America/El_Salvador',
  840.     ),
  841.     'SY' => array(
  842.         'Asia/Damascus',
  843.     ),
  844.     'SZ' => array(
  845.         'Africa/Mbabane',
  846.     ),
  847.     'TC' => array(
  848.         'America/Grand_Turk',
  849.     ),
  850.     'TD' => array(
  851.         'Africa/Ndjamena',
  852.     ),
  853.     'TF' => array(
  854.         'Indian/Kerguelen',
  855.     ),
  856.     'TG' => array(
  857.         'Africa/Lome',
  858.     ),
  859.     'TH' => array(
  860.         'Asia/Bangkok',
  861.     ),
  862.     'TJ' => array(
  863.         'Asia/Dushanbe',
  864.     ),
  865.     'TK' => array(
  866.         'Pacific/Fakaofo',
  867.     ),
  868.     'TL' => array(
  869.         'Asia/Dili',
  870.     ),
  871.     'TM' => array(
  872.         'Asia/Ashgabat',
  873.     ),
  874.     'TN' => array(
  875.         'Africa/Tunis',
  876.     ),
  877.     'TO' => array(
  878.         'Pacific/Tongatapu',
  879.     ),
  880.     'TR' => array(
  881.         'Europe/Istanbul',
  882.     ),
  883.     'TT' => array(
  884.         'America/Port_of_Spain',
  885.     ),
  886.     'TV' => array(
  887.         'Pacific/Funafuti',
  888.     ),
  889.     'TW' => array(
  890.         'Asia/Taipei',
  891.     ),
  892.     'TZ' => array(
  893.         'Africa/Dar_es_Salaam',
  894.     ),
  895.     'UA' => array(
  896.         'Europe/Kiev',
  897.         'Europe/Uzhgorod',
  898.         'Europe/Zaporozhye',
  899.         'Europe/Simferopol',
  900.     ),
  901.     'UG' => array(
  902.         'Africa/Kampala',
  903.     ),
  904.     'UM' => array(
  905.         'Pacific/Johnston',
  906.         'Pacific/Midway',
  907.         'Pacific/Wake',
  908.     ),
  909.     'US' => array(
  910.         'America/New_York',
  911.         'America/Detroit',
  912.         'America/Louisville',
  913.         'America/Kentucky/Monticello',
  914.         'America/Indianapolis',
  915.         'America/Indiana/Marengo',
  916.         'America/Indiana/Knox',
  917.         'America/Indiana/Vevay',
  918.         'America/Chicago',
  919.         'America/Menominee',
  920.         'America/North_Dakota/Center',
  921.         'America/Denver',
  922.         'America/Boise',
  923.         'America/Shiprock',
  924.         'America/Phoenix',
  925.         'America/Los_Angeles',
  926.         'America/Anchorage',
  927.         'America/Juneau',
  928.         'America/Yakutat',
  929.         'America/Nome',
  930.         'America/Adak',
  931.         'Pacific/Honolulu',
  932.     ),
  933.     'UY' => array(
  934.         'America/Montevideo',
  935.     ),
  936.     'UZ' => array(
  937.         'Asia/Samarkand',
  938.         'Asia/Tashkent',
  939.     ),
  940.     'VA' => array(
  941.         'Europe/Vatican',
  942.     ),
  943.     'VC' => array(
  944.         'America/St_Vincent',
  945.     ),
  946.     'VE' => array(
  947.         'America/Caracas',
  948.     ),
  949.     'VG' => array(
  950.         'America/Tortola',
  951.     ),
  952.     'VI' => array(
  953.         'America/St_Thomas',
  954.     ),
  955.     'VN' => array(
  956.         'Asia/Saigon',
  957.     ),
  958.     'VU' => array(
  959.         'Pacific/Efate',
  960.     ),
  961.     'WF' => array(
  962.         'Pacific/Wallis',
  963.     ),
  964.     'WS' => array(
  965.         'Pacific/Apia',
  966.     ),
  967.     'YE' => array(
  968.         'Asia/Aden',
  969.     ),
  970.     'YT' => array(
  971.         'Indian/Mayotte',
  972.     ),
  973.     'ZA' => array(
  974.         'Africa/Johannesburg',
  975.     ),
  976.     'ZM' => array(
  977.         'Africa/Lusaka',
  978.     ),
  979.     'ZW' => array(
  980.         'Africa/Harare',
  981.     ),
  982. );
  983.  
  984. ?>
  985.