具體實現方法如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 <?php $timezones = array ( '(GMT-12:00) International Date Line West' => 'Pacific/Wake', '(GMT-11:00) Midway Island' => 'Pacific/Apia', '(GMT-11:00) Samoa' => 'Pacific/Apia', '(GMT-10:00) Hawaii' => 'Pacific/Honolulu', '(GMT-09:00) Alaska' => 'America/Anchorage', '(GMT-08:00) Pacific Time (US & Canada); Tijuana' => 'America/Los_Angeles', '(GMT-07:00) Arizona' => 'America/Phoenix', '(GMT-07:00) Chihuahua' => 'America/Chihuahua', '(GMT-07:00) La Paz' => 'America/Chihuahua', '(GMT-07:00) Mazatlan' => 'America/Chihuahua', '(GMT-07:00) Mountain Time (US & Canada)' => 'America/Denver', '(GMT-06:00) Central America' => 'America/Managua', '(GMT-06:00) Central Time (US & Canada)' => 'America/Chicago', '(GMT-06:00) Guadalajara' => 'America/Mexico_City', '(GMT-06:00) Mexico City' => 'America/Mexico_City', '(GMT-06:00) Monterrey' => 'America/Mexico_City', '(GMT-06:00) Saskatchewan' => 'America/Regina', '(GMT-05:00) Bogota' => 'America/Bogota', '(GMT-05:00) Eastern Time (US & Canada)' => 'America/New_York', '(GMT-05:00) Indiana (East)' => 'America/Indiana/Indianapolis', '(GMT-05:00) Lima' => 'America/Bogota', '(GMT-05:00) Quito' => 'America/Bogota', '(GMT-04:00) Atlantic Time (Canada)' => 'America/Halifax', '(GMT-04:00) Caracas' => 'America/Caracas', '(GMT-04:00) La Paz' => 'America/Caracas', '(GMT-04:00) Santiago' => 'America/Santiago', '(GMT-03:30) Newfoundland' => 'America/St_Johns', '(GMT-03:00) Brasilia' => 'America/Sao_Paulo', '(GMT-03:00) Buenos Aires' => 'America/Argentina/Buenos_Aires', '(GMT-03:00) Georgetown' => 'America/Argentina/Buenos_Aires', '(GMT-03:00) Greenland' => 'America/Godthab', '(GMT-02:00) Mid-Atlantic' => 'America/Noronha', '(GMT-01:00) Azores' => 'Atlantic/Azores', '(GMT-01:00) Cape Verde Is.' => 'Atlantic/Cape_Verde', '(GMT) Casablanca' => 'Africa/Casablanca', '(GMT) Edinburgh' => 'Europe/London', '(GMT) Greenwich Mean Time : Dublin' => 'Europe/London', '(GMT) Lisbon' => 'Europe/London', '(GMT) London' => 'Europe/London', '(GMT) Monrovia' => 'Africa/Casablanca', '(GMT+01:00) Amsterdam' => 'Europe/Berlin', '(GMT+01:00) Belgrade' => 'Europe/Belgrade', '(GMT+01:00) Berlin' => 'Europe/Berlin', '(GMT+01:00) Bern' => 'Europe/Berlin', '(GMT+01:00) Bratislava' => 'Europe/Belgrade', '(GMT+01:00) Brussels' => 'Europe/Paris', '(GMT+01:00) Budapest' => 'Europe/Belgrade', '(GMT+01:00) Copenhagen' => 'Europe/Paris', '(GMT+01:00) Ljubljana' => 'Europe/Belgrade', '(GMT+01:00) Madrid' => 'Europe/Paris', '(GMT+01:00) Paris' => 'Europe/Paris', '(GMT+01:00) Prague' => 'Europe/Belgrade', '(GMT+01:00) Rome' => 'Europe/Berlin', '(GMT+01:00) Sarajevo' => 'Europe/Sarajevo', '(GMT+01:00) Skopje' => 'Europe/Sarajevo', '(GMT+01:00) Stockholm' => 'Europe/Berlin', '(GMT+01:00) Vienna' => 'Europe/Berlin', '(GMT+01:00) Warsaw' => 'Europe/Sarajevo', '(GMT+01:00) West Central Africa' => 'Africa/Lagos', '(GMT+01:00) Zagreb' => 'Europe/Sarajevo', '(GMT+02:00) Athens' => 'Europe/Istanbul', '(GMT+02:00) Bucharest' => 'Europe/Bucharest', '(GMT+02:00) Cairo' => 'Africa/Cairo', '(GMT+02:00) Harare' => 'Africa/Johannesburg', '(GMT+02:00) Helsinki' => 'Europe/Helsinki', '(GMT+02:00) Istanbul' => 'Europe/Istanbul', '(GMT+02:00) Jerusalem' => 'Asia/Jerusalem', '(GMT+02:00) Kyiv' => 'Europe/Helsinki', '(GMT+02:00) Minsk' => 'Europe/Istanbul', '(GMT+02:00) Pretoria' => 'Africa/Johannesburg', '(GMT+02:00) Riga' => 'Europe/Helsinki', '(GMT+02:00) Sofia' => 'Europe/Helsinki', '(GMT+02:00) Tallinn' => 'Europe/Helsinki', '(GMT+02:00) Vilnius' => 'Europe/Helsinki', '(GMT+03:00) Baghdad' => 'Asia/Baghdad', '(GMT+03:00) Kuwait' => 'Asia/Riyadh', '(GMT+03:00) Moscow' => 'Europe/Moscow', '(GMT+03:00) Nairobi' => 'Africa/Nairobi', '(GMT+03:00) Riyadh' => 'Asia/Riyadh', '(GMT+03:00) St. Petersburg' => 'Europe/Moscow', '(GMT+03:00) Volgograd' => 'Europe/Moscow', '(GMT+03:30) Tehran' => 'Asia/Tehran', '(GMT+04:00) Abu Dhabi' => 'Asia/Muscat', '(GMT+04:00) Baku' => 'Asia/Tbilisi', '(GMT+04:00) Muscat' => 'Asia/Muscat', '(GMT+04:00) Tbilisi' => 'Asia/Tbilisi', '(GMT+04:00) Yerevan' => 'Asia/Tbilisi', '(GMT+