fix image text
[pear] / Date / TimeZone.php
1 <?php\r
2 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */\r
3 \r
4 // {{{ Header\r
5 \r
6 /**\r
7  * TimeZone representation class, along with time zone information data\r
8  *\r
9  * PHP versions 4 and 5\r
10  *\r
11  * LICENSE:\r
12  *\r
13  * Copyright (c) 1997-2006 Baba Buehler, Pierre-Alain Joye\r
14  * All rights reserved.\r
15  *\r
16  * Redistribution and use in source and binary forms, with or without\r
17  * modification, are permitted under the terms of the BSD License.\r
18  *\r
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
20  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
21  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\r
22  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\r
23  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\r
24  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\r
25  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r
26  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\r
27  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
28  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\r
29  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
30  * POSSIBILITY OF SUCH DAMAGE.\r
31  *\r
32  * @category   Date and Time\r
33  * @package    Date\r
34  * @author     Baba Buehler <baba@babaz.com>\r
35  * @author     Pierre-Alain Joye <pajoye@php.net>\r
36  * @copyright  1997-2006 Baba Buehler, Pierre-Alain Joye\r
37  * @license    http://www.opensource.org/licenses/bsd-license.php\r
38  *             BSD License\r
39  * @version    CVS: $Id: TimeZone.php,v 1.14 2006/11/22 01:03:12 firman Exp $\r
40  * @link       http://pear.php.net/package/Date\r
41  */\r
42 \r
43 // }}}\r
44 // {{{ Class: Date_TimeZone\r
45 \r
46 /**\r
47  * TimeZone representation class, along with time zone information data\r
48  *\r
49  * The default timezone is set from the first valid timezone id found\r
50  * in one of the following places, in this order:\r
51  *   + global $_DATE_TIMEZONE_DEFAULT\r
52  *   + system environment variable PHP_TZ\r
53  *   + system environment variable TZ\r
54  *   + the result of date('T')\r
55  *\r
56  * If no valid timezone id is found, the default timezone is set to 'UTC'.\r
57  * You may also manually set the default timezone by passing a valid id to\r
58  * Date_TimeZone::setDefault().\r
59  *\r
60  * This class includes time zone data (from zoneinfo) in the form of a\r
61  * global array, $_DATE_TIMEZONE_DATA.\r
62  *\r
63  * @author     Baba Buehler <baba@babaz.com>\r
64  * @copyright  1997-2006 Baba Buehler, Pierre-Alain Joye\r
65  * @license    http://www.opensource.org/licenses/bsd-license.php\r
66  *             BSD License\r
67  * @version    Release: 1.4.7\r
68  * @link       http://pear.php.net/package/Date\r
69  */\r
70 class Date_TimeZone\r
71 {\r
72     // {{{ Properties\r
73 \r
74     /**\r
75      * Time Zone ID of this time zone\r
76      * @var string\r
77      */\r
78     var $id;\r
79 \r
80     /**\r
81      * Long Name of this time zone (ie Central Standard Time)\r
82      * @var string\r
83      */\r
84     var $longname;\r
85 \r
86     /**\r
87      * Short Name of this time zone (ie CST)\r
88      * @var string\r
89      */\r
90     var $shortname;\r
91 \r
92     /**\r
93      * true if this time zone observes daylight savings time\r
94      * @var boolean\r
95      */\r
96     var $hasdst;\r
97 \r
98     /**\r
99      * DST Long Name of this time zone\r
100      * @var string\r
101      */\r
102     var $dstlongname;\r
103 \r
104     /**\r
105      * DST Short Name of this timezone\r
106      * @var string\r
107      */\r
108     var $dstshortname;\r
109 \r
110     /**\r
111      * offset, in milliseconds, of this timezone\r
112      * @var int\r
113      */\r
114     var $offset;\r
115 \r
116     /**\r
117      * System Default Time Zone\r
118      * @var object Date_TimeZone\r
119      */\r
120     var $default;\r
121 \r
122     // }}}\r
123     // {{{ Constructor\r
124 \r
125     /**\r
126      * Constructor\r
127      *\r
128      * Creates a new Date::TimeZone object, representing the time zone\r
129      * specified in $id.  If the supplied ID is invalid, the created\r
130      * time zone is UTC.\r
131      *\r
132      * @access public\r
133      * @param string $id the time zone id\r
134      * @return object Date_TimeZone the new Date_TimeZone object\r
135      */\r
136     function __construct($id)\r
137     {\r
138         $_DATE_TIMEZONE_DATA =& $GLOBALS['_DATE_TIMEZONE_DATA'];\r
139         if(Date_TimeZone::isValidID($id)) {\r
140             $this->id = $id;\r
141             $this->longname = $_DATE_TIMEZONE_DATA[$id]['longname'];\r
142             $this->shortname = $_DATE_TIMEZONE_DATA[$id]['shortname'];\r
143             $this->offset = $_DATE_TIMEZONE_DATA[$id]['offset'];\r
144             if($_DATE_TIMEZONE_DATA[$id]['hasdst']) {\r
145                 $this->hasdst = true;\r
146                 $this->dstlongname = $_DATE_TIMEZONE_DATA[$id]['dstlongname'];\r
147                 $this->dstshortname = $_DATE_TIMEZONE_DATA[$id]['dstshortname'];\r
148             } else {\r
149                 $this->hasdst = false;\r
150                 $this->dstlongname = $this->longname;\r
151                 $this->dstshortname = $this->shortname;\r
152             }\r
153         } else {\r
154             $this->id = 'UTC';\r
155             $this->longname = $_DATE_TIMEZONE_DATA[$this->id]['longname'];\r
156             $this->shortname = $_DATE_TIMEZONE_DATA[$this->id]['shortname'];\r
157             $this->hasdst = $_DATE_TIMEZONE_DATA[$this->id]['hasdst'];\r
158             $this->offset = $_DATE_TIMEZONE_DATA[$this->id]['offset'];\r
159         }\r
160     }\r
161 \r
162     // }}}\r
163     // {{{ getDefault()\r
164 \r
165     /**\r
166      * Return a TimeZone object representing the system default time zone\r
167      *\r
168      * Return a TimeZone object representing the system default time zone,\r
169      * which is initialized during the loading of TimeZone.php.\r
170      *\r
171      * @access public\r
172      * @return object Date_TimeZone the default time zone\r
173      */\r
174     static function getDefault()\r
175     {\r
176         return new Date_TimeZone($GLOBALS['_DATE_TIMEZONE_DEFAULT']);\r
177     }\r
178 \r
179     // }}}\r
180     // {{{ setDefault()\r
181 \r
182     /**\r
183      * Sets the system default time zone to the time zone in $id\r
184      *\r
185      * Sets the system default time zone to the time zone in $id\r
186      *\r
187      * @access public\r
188      * @param string $id the time zone id to use\r
189      */\r
190     static function setDefault($id)\r
191     {\r
192         if(Date_TimeZone::isValidID($id)) {\r
193             $GLOBALS['_DATE_TIMEZONE_DEFAULT'] = $id;\r
194         }\r
195     }\r
196 \r
197     // }}}\r
198     // {{{ isValidID()\r
199 \r
200     /**\r
201      * Tests if given id is represented in the $_DATE_TIMEZONE_DATA time zone data\r
202      *\r
203      * Tests if given id is represented in the $_DATE_TIMEZONE_DATA time zone data\r
204      *\r
205      * @access public\r
206      * @param string $id the id to test\r
207      * @return boolean true if the supplied ID is valid\r
208      */\r
209     static function isValidID($id)\r
210     {\r
211         if(isset($GLOBALS['_DATE_TIMEZONE_DATA'][$id])) {\r
212             return true;\r
213         } else {\r
214             return false;\r
215         }\r
216     }\r
217 \r
218     // }}}\r
219     // {{{ isEqual()\r
220 \r
221     /**\r
222      * Is this time zone equal to another\r
223      *\r
224      * Tests to see if this time zone is equal (ids match)\r
225      * to a given Date_TimeZone object.\r
226      *\r
227      * @access public\r
228      * @param object Date_TimeZone $tz the timezone to test\r
229      * @return boolean true if this time zone is equal to the supplied time zone\r
230      */\r
231     function isEqual($tz)\r
232     {\r
233         if(strcasecmp($this->id, $tz->id) == 0) {\r
234             return true;\r
235         } else {\r
236             return false;\r
237         }\r
238     }\r
239 \r
240     // }}}\r
241     // {{{ isEquivalent()\r
242 \r
243     /**\r
244      * Is this time zone equivalent to another\r
245      *\r
246      * Tests to see if this time zone is equivalent to\r
247      * a given time zone object.  Equivalence in this context\r
248      * is defined by the two time zones having an equal raw\r
249      * offset and an equal setting of "hasdst".  This is not true\r
250      * equivalence, as the two time zones may have different rules\r
251      * for the observance of DST, but this implementation does not\r
252      * know DST rules.\r
253      *\r
254      * @access public\r
255      * @param object Date_TimeZone $tz the timezone object to test\r
256      * @return boolean true if this time zone is equivalent to the supplied time zone\r
257      */\r
258     function isEquivalent($tz)\r
259     {\r
260         if($this->offset == $tz->offset && $this->hasdst == $tz->hasdst) {\r
261             return true;\r
262         } else {\r
263             return false;\r
264         }\r
265     }\r
266 \r
267     // }}}\r
268     // {{{ hasDaylightTime()\r
269 \r
270     /**\r
271      * Returns true if this zone observes daylight savings time\r
272      *\r
273      * Returns true if this zone observes daylight savings time\r
274      *\r
275      * @access public\r
276      * @return boolean true if this time zone has DST\r
277      */\r
278     function hasDaylightTime()\r
279     {\r
280         return $this->hasdst;\r
281     }\r
282 \r
283     // }}}\r
284     // {{{ inDaylightTime()\r
285 \r
286     /**\r
287      * Is the given date/time in DST for this time zone\r
288      *\r
289      * Attempts to determine if a given Date object represents a date/time\r
290      * that is in DST for this time zone.  WARNINGS: this basically attempts to\r
291      * "trick" the system into telling us if we're in DST for a given time zone.\r
292      * This uses putenv() which may not work in safe mode, and relies on unix time\r
293      * which is only valid for dates from 1970 to ~2038.  This relies on the\r
294      * underlying OS calls, so it may not work on Windows or on a system where\r
295      * zoneinfo is not installed or configured properly.\r
296      *\r
297      * @access public\r
298      * @param object Date $date the date/time to test\r
299      * @return boolean true if this date is in DST for this time zone\r
300      */\r
301     function inDaylightTime($date)\r
302     {\r
303         $env_tz = '';\r
304         if(isset($_ENV['TZ']) && getenv('TZ')) {\r
305             $env_tz = getenv('TZ');\r
306         }\r
307 \r
308         putenv('TZ=' . $this->id);\r
309         $ltime = localtime($date->getTime(), true);\r
310         if ($env_tz != '') {\r
311             putenv('TZ=' . $env_tz);\r
312         }\r
313         return $ltime['tm_isdst'];\r
314     }\r
315 \r
316     // }}}\r
317     // {{{ getDSTSavings()\r
318 \r
319     /**\r
320      * Get the DST offset for this time zone\r
321      *\r
322      * Returns the DST offset of this time zone, in milliseconds,\r
323      * if the zone observes DST, zero otherwise.  Currently the\r
324      * DST offset is hard-coded to one hour.\r
325      *\r
326      * @access public\r
327      * @return int the DST offset, in milliseconds or zero if the zone does not observe DST\r
328      */\r
329     function getDSTSavings()\r
330     {\r
331         if($this->hasdst) {\r
332             return 3600000;\r
333         } else {\r
334             return 0;\r
335         }\r
336     }\r
337 \r
338     // }}}\r
339     // {{{ getOffset()\r
340 \r
341     /**\r
342      * Get the DST-corrected offset to UTC for the given date\r
343      *\r
344      * Attempts to get the offset to UTC for a given date/time, taking into\r
345      * account daylight savings time, if the time zone observes it and if\r
346      * it is in effect.  Please see the WARNINGS on Date::TimeZone::inDaylightTime().\r
347      *\r
348      *\r
349      * @access public\r
350      * @param object Date $date the Date to test\r
351      * @return int the corrected offset to UTC in milliseconds\r
352      */\r
353     function getOffset($date)\r
354     {\r
355         if($this->inDaylightTime($date)) {\r
356             return $this->offset + $this->getDSTSavings();\r
357         } else {\r
358             return $this->offset;\r
359         }\r
360     }\r
361 \r
362     // }}}\r
363     // {{{ getAvailableIDs()\r
364 \r
365     /**\r
366      * Returns the list of valid time zone id strings\r
367      *\r
368      * Returns the list of valid time zone id strings\r
369      *\r
370      * @access public\r
371      * @return mixed an array of strings with the valid time zone IDs\r
372      */\r
373     function getAvailableIDs()\r
374     {\r
375         return array_keys($GLOBALS['_DATE_TIMEZONE_DATA']);\r
376     }\r
377 \r
378     // }}}\r
379     // {{{ getID()\r
380 \r
381     /**\r
382      * Returns the id for this time zone\r
383      *\r
384      * Returns the time zone id  for this time zone, i.e. "America/Chicago"\r
385      *\r
386      * @access public\r
387      * @return string the id\r
388      */\r
389     function getID()\r
390     {\r
391         return $this->id;\r
392     }\r
393 \r
394     // }}}\r
395     // {{{ getLongName()\r
396 \r
397     /**\r
398      * Returns the long name for this time zone\r
399      *\r
400      * Returns the long name for this time zone,\r
401      * i.e. "Central Standard Time"\r
402      *\r
403      * @access public\r
404      * @return string the long name\r
405      */\r
406     function getLongName()\r
407     {\r
408         return $this->longname;\r
409     }\r
410 \r
411     // }}}\r
412     // {{{ getShortName()\r
413 \r
414     /**\r
415      * Returns the short name for this time zone\r
416      *\r
417      * Returns the short name for this time zone, i.e. "CST"\r
418      *\r
419      * @access public\r
420      * @return string the short name\r
421      */\r
422     function getShortName()\r
423     {\r
424         return $this->shortname;\r
425     }\r
426 \r
427     // }}}\r
428     // {{{ getDSTLongName()\r
429 \r
430     /**\r
431      * Returns the DST long name for this time zone\r
432      *\r
433      * Returns the DST long name for this time zone, i.e. "Central Daylight Time"\r
434      *\r
435      * @access public\r
436      * @return string the daylight savings time long name\r
437      */\r
438     function getDSTLongName()\r
439     {\r
440         return $this->dstlongname;\r
441     }\r
442 \r
443     // }}}\r
444     // {{{ getDSTShortName()\r
445 \r
446     /**\r
447      * Returns the DST short name for this time zone\r
448      *\r
449      * Returns the DST short name for this time zone, i.e. "CDT"\r
450      *\r
451      * @access public\r
452      * @return string the daylight savings time short name\r
453      */\r
454     function getDSTShortName()\r
455     {\r
456         return $this->dstshortname;\r
457     }\r
458 \r
459     // }}}\r
460     // {{{ getRawOffset()\r
461 \r
462     /**\r
463      * Returns the raw (non-DST-corrected) offset from UTC/GMT for this time zone\r
464      *\r
465      * Returns the raw (non-DST-corrected) offset from UTC/GMT for this time zone\r
466      *\r
467      * @access public\r
468      * @return int the offset, in milliseconds\r
469      */\r
470     function getRawOffset()\r
471     {\r
472         return $this->offset;\r
473     }\r
474 \r
475     // }}}\r
476 }\r
477 \r
478 // }}}\r
479 \r
480 /**\r
481  * Time Zone Data offset is in miliseconds\r
482  *\r
483  * @global array $GLOBALS['_DATE_TIMEZONE_DATA']\r
484  */\r
485 $GLOBALS['_DATE_TIMEZONE_DATA'] = array(\r
486     'Etc/GMT+12' => array(\r
487         'offset' => -43200000,\r
488         'longname' => 'GMT-12:00',\r
489         'shortname' => 'GMT-12:00',\r
490         'hasdst' => false ),\r
491     'Etc/GMT+11' => array(\r
492         'offset' => -39600000,\r
493         'longname' => 'GMT-11:00',\r
494         'shortname' => 'GMT-11:00',\r
495         'hasdst' => false ),\r
496     'MIT' => array(\r
497         'offset' => -39600000,\r
498         'longname' => 'West Samoa Time',\r
499         'shortname' => 'WST',\r
500         'hasdst' => false ),\r
501     'Pacific/Apia' => array(\r
502         'offset' => -39600000,\r
503         'longname' => 'West Samoa Time',\r
504         'shortname' => 'WST',\r
505         'hasdst' => false ),\r
506     'Pacific/Midway' => array(\r
507         'offset' => -39600000,\r
508         'longname' => 'Samoa Standard Time',\r
509         'shortname' => 'SST',\r
510         'hasdst' => false ),\r
511     'Pacific/Niue' => array(\r
512         'offset' => -39600000,\r
513         'longname' => 'Niue Time',\r
514         'shortname' => 'NUT',\r
515         'hasdst' => false ),\r
516     'Pacific/Pago_Pago' => array(\r
517         'offset' => -39600000,\r
518         'longname' => 'Samoa Standard Time',\r
519         'shortname' => 'SST',\r
520         'hasdst' => false ),\r
521     'Pacific/Samoa' => array(\r
522         'offset' => -39600000,\r
523         'longname' => 'Samoa Standard Time',\r
524         'shortname' => 'SST',\r
525         'hasdst' => false ),\r
526     'US/Samoa' => array(\r
527         'offset' => -39600000,\r
528         'longname' => 'Samoa Standard Time',\r
529         'shortname' => 'SST',\r
530         'hasdst' => false ),\r
531     'America/Adak' => array(\r
532         'offset' => -36000000,\r
533         'longname' => 'Hawaii-Aleutian Standard Time',\r
534         'shortname' => 'HAST',\r
535         'hasdst' => true,\r
536         'dstlongname' => 'Hawaii-Aleutian Daylight Time',\r
537         'dstshortname' => 'HADT' ),\r
538     'America/Atka' => array(\r
539         'offset' => -36000000,\r
540         'longname' => 'Hawaii-Aleutian Standard Time',\r
541         'shortname' => 'HAST',\r
542         'hasdst' => true,\r
543         'dstlongname' => 'Hawaii-Aleutian Daylight Time',\r
544         'dstshortname' => 'HADT' ),\r
545     'Etc/GMT+10' => array(\r
546         'offset' => -36000000,\r
547         'longname' => 'GMT-10:00',\r
548         'shortname' => 'GMT-10:00',\r
549         'hasdst' => false ),\r
550     'HST' => array(\r
551         'offset' => -36000000,\r
552         'longname' => 'Hawaii Standard Time',\r
553         'shortname' => 'HST',\r
554         'hasdst' => false ),\r
555     'Pacific/Fakaofo' => array(\r
556         'offset' => -36000000,\r
557         'longname' => 'Tokelau Time',\r
558         'shortname' => 'TKT',\r
559         'hasdst' => false ),\r
560     'Pacific/Honolulu' => array(\r
561         'offset' => -36000000,\r
562         'longname' => 'Hawaii Standard Time',\r
563         'shortname' => 'HST',\r
564         'hasdst' => false ),\r
565     'Pacific/Johnston' => array(\r
566         'offset' => -36000000,\r
567         'longname' => 'Hawaii Standard Time',\r
568         'shortname' => 'HST',\r
569         'hasdst' => false ),\r
570     'Pacific/Rarotonga' => array(\r
571         'offset' => -36000000,\r
572         'longname' => 'Cook Is. Time',\r
573         'shortname' => 'CKT',\r
574         'hasdst' => false ),\r
575     'Pacific/Tahiti' => array(\r
576         'offset' => -36000000,\r
577         'longname' => 'Tahiti Time',\r
578         'shortname' => 'TAHT',\r
579         'hasdst' => false ),\r
580     'SystemV/HST10' => array(\r
581         'offset' => -36000000,\r
582         'longname' => 'Hawaii Standard Time',\r
583         'shortname' => 'HST',\r
584         'hasdst' => false ),\r
585     'US/Aleutian' => array(\r
586         'offset' => -36000000,\r
587         'longname' => 'Hawaii-Aleutian Standard Time',\r
588         'shortname' => 'HAST',\r
589         'hasdst' => true,\r
590         'dstlongname' => 'Hawaii-Aleutian Daylight Time',\r
591         'dstshortname' => 'HADT' ),\r
592     'US/Hawaii' => array(\r
593         'offset' => -36000000,\r
594         'longname' => 'Hawaii Standard Time',\r
595         'shortname' => 'HST',\r
596         'hasdst' => false ),\r
597     'Pacific/Marquesas' => array(\r
598         'offset' => -34200000,\r
599         'longname' => 'Marquesas Time',\r
600         'shortname' => 'MART',\r
601         'hasdst' => false ),\r
602     'AST' => array(\r
603         'offset' => -32400000,\r
604         'longname' => 'Alaska Standard Time',\r
605         'shortname' => 'AKST',\r
606         'hasdst' => true,\r
607         'dstlongname' => 'Alaska Daylight Time',\r
608         'dstshortname' => 'AKDT' ),\r
609     'America/Anchorage' => array(\r
610         'offset' => -32400000,\r
611         'longname' => 'Alaska Standard Time',\r
612         'shortname' => 'AKST',\r
613         'hasdst' => true,\r
614         'dstlongname' => 'Alaska Daylight Time',\r
615         'dstshortname' => 'AKDT' ),\r
616     'America/Juneau' => array(\r
617         'offset' => -32400000,\r
618         'longname' => 'Alaska Standard Time',\r
619         'shortname' => 'AKST',\r
620         'hasdst' => true,\r
621         'dstlongname' => 'Alaska Daylight Time',\r
622         'dstshortname' => 'AKDT' ),\r
623     'America/Nome' => array(\r
624         'offset' => -32400000,\r
625         'longname' => 'Alaska Standard Time',\r
626         'shortname' => 'AKST',\r
627         'hasdst' => true,\r
628         'dstlongname' => 'Alaska Daylight Time',\r
629         'dstshortname' => 'AKDT' ),\r
630     'America/Yakutat' => array(\r
631         'offset' => -32400000,\r
632         'longname' => 'Alaska Standard Time',\r
633         'shortname' => 'AKST',\r
634         'hasdst' => true,\r
635         'dstlongname' => 'Alaska Daylight Time',\r
636         'dstshortname' => 'AKDT' ),\r
637     'Etc/GMT+9' => array(\r
638         'offset' => -32400000,\r
639         'longname' => 'GMT-09:00',\r
640         'shortname' => 'GMT-09:00',\r
641         'hasdst' => false ),\r
642     'Pacific/Gambier' => array(\r
643         'offset' => -32400000,\r
644         'longname' => 'Gambier Time',\r
645         'shortname' => 'GAMT',\r
646         'hasdst' => false ),\r
647     'SystemV/YST9' => array(\r
648         'offset' => -32400000,\r
649         'longname' => 'Gambier Time',\r
650         'shortname' => 'GAMT',\r
651         'hasdst' => false ),\r
652     'SystemV/YST9YDT' => array(\r
653         'offset' => -32400000,\r
654         'longname' => 'Alaska Standard Time',\r
655         'shortname' => 'AKST',\r
656         'hasdst' => true,\r
657         'dstlongname' => 'Alaska Daylight Time',\r
658         'dstshortname' => 'AKDT' ),\r
659     'US/Alaska' => array(\r
660         'offset' => -32400000,\r
661         'longname' => 'Alaska Standard Time',\r
662         'shortname' => 'AKST',\r
663         'hasdst' => true,\r
664         'dstlongname' => 'Alaska Daylight Time',\r
665         'dstshortname' => 'AKDT' ),\r
666     'America/Dawson' => array(\r
667         'offset' => -28800000,\r
668         'longname' => 'Pacific Standard Time',\r
669         'shortname' => 'PST',\r
670         'hasdst' => true,\r
671         'dstlongname' => 'Pacific Daylight Time',\r
672         'dstshortname' => 'PDT' ),\r
673     'America/Ensenada' => array(\r
674         'offset' => -28800000,\r
675         'longname' => 'Pacific Standard Time',\r
676         'shortname' => 'PST',\r
677         'hasdst' => true,\r
678         'dstlongname' => 'Pacific Daylight Time',\r
679         'dstshortname' => 'PDT' ),\r
680     'America/Los_Angeles' => array(\r
681         'offset' => -28800000,\r
682         'longname' => 'Pacific Standard Time',\r
683         'shortname' => 'PST',\r
684         'hasdst' => true,\r
685         'dstlongname' => 'Pacific Daylight Time',\r
686         'dstshortname' => 'PDT' ),\r
687     'America/Tijuana' => array(\r
688         'offset' => -28800000,\r
689         'longname' => 'Pacific Standard Time',\r
690         'shortname' => 'PST',\r
691         'hasdst' => true,\r
692         'dstlongname' => 'Pacific Daylight Time',\r
693         'dstshortname' => 'PDT' ),\r
694     'America/Vancouver' => array(\r
695         'offset' => -28800000,\r
696         'longname' => 'Pacific Standard Time',\r
697         'shortname' => 'PST',\r
698         'hasdst' => true,\r
699         'dstlongname' => 'Pacific Daylight Time',\r
700         'dstshortname' => 'PDT' ),\r
701     'America/Whitehorse' => array(\r
702         'offset' => -28800000,\r
703         'longname' => 'Pacific Standard Time',\r
704         'shortname' => 'PST',\r
705         'hasdst' => true,\r
706         'dstlongname' => 'Pacific Daylight Time',\r
707         'dstshortname' => 'PDT' ),\r
708     'Canada/Pacific' => array(\r
709         'offset' => -28800000,\r
710         'longname' => 'Pacific Standard Time',\r
711         'shortname' => 'PST',\r
712         'hasdst' => true,\r
713         'dstlongname' => 'Pacific Daylight Time',\r
714         'dstshortname' => 'PDT' ),\r
715     'Canada/Yukon' => array(\r
716         'offset' => -28800000,\r
717         'longname' => 'Pacific Standard Time',\r
718         'shortname' => 'PST',\r
719         'hasdst' => true,\r
720         'dstlongname' => 'Pacific Daylight Time',\r
721         'dstshortname' => 'PDT' ),\r
722     'Etc/GMT+8' => array(\r
723         'offset' => -28800000,\r
724         'longname' => 'GMT-08:00',\r
725         'shortname' => 'GMT-08:00',\r
726         'hasdst' => false ),\r
727     'Mexico/BajaNorte' => array(\r
728         'offset' => -28800000,\r
729         'longname' => 'Pacific Standard Time',\r
730         'shortname' => 'PST',\r
731         'hasdst' => true,\r
732         'dstlongname' => 'Pacific Daylight Time',\r
733         'dstshortname' => 'PDT' ),\r
734     'PST' => array(\r
735         'offset' => -28800000,\r
736         'longname' => 'Pacific Standard Time',\r
737         'shortname' => 'PST',\r
738         'hasdst' => true,\r
739         'dstlongname' => 'Pacific Daylight Time',\r
740         'dstshortname' => 'PDT' ),\r
741     'PST8PDT' => array(\r
742         'offset' => -28800000,\r
743         'longname' => 'Pacific Standard Time',\r
744         'shortname' => 'PST',\r
745         'hasdst' => true,\r
746         'dstlongname' => 'Pacific Daylight Time',\r
747         'dstshortname' => 'PDT' ),\r
748     'Pacific/Pitcairn' => array(\r
749         'offset' => -28800000,\r
750         'longname' => 'Pitcairn Standard Time',\r
751         'shortname' => 'PST',\r
752         'hasdst' => false ),\r
753     'SystemV/PST8' => array(\r
754         'offset' => -28800000,\r
755         'longname' => 'Pitcairn Standard Time',\r
756         'shortname' => 'PST',\r
757         'hasdst' => false ),\r
758     'SystemV/PST8PDT' => array(\r
759         'offset' => -28800000,\r
760         'longname' => 'Pacific Standard Time',\r
761         'shortname' => 'PST',\r
762         'hasdst' => true,\r
763         'dstlongname' => 'Pacific Daylight Time',\r
764         'dstshortname' => 'PDT' ),\r
765     'US/Pacific' => array(\r
766         'offset' => -28800000,\r
767         'longname' => 'Pacific Standard Time',\r
768         'shortname' => 'PST',\r
769         'hasdst' => true,\r
770         'dstlongname' => 'Pacific Daylight Time',\r
771         'dstshortname' => 'PDT' ),\r
772     'US/Pacific-New' => array(\r
773         'offset' => -28800000,\r
774         'longname' => 'Pacific Standard Time',\r
775         'shortname' => 'PST',\r
776         'hasdst' => true,\r
777         'dstlongname' => 'Pacific Daylight Time',\r
778         'dstshortname' => 'PDT' ),\r
779     'America/Boise' => array(\r
780         'offset' => -25200000,\r
781         'longname' => 'Mountain Standard Time',\r
782         'shortname' => 'MST',\r
783         'hasdst' => true,\r
784         'dstlongname' => 'Mountain Daylight Time',\r
785         'dstshortname' => 'MDT' ),\r
786     'America/Cambridge_Bay' => array(\r
787         'offset' => -25200000,\r
788         'longname' => 'Mountain Standard Time',\r
789         'shortname' => 'MST',\r
790         'hasdst' => true,\r
791         'dstlongname' => 'Mountain Daylight Time',\r
792         'dstshortname' => 'MDT' ),\r
793     'America/Chihuahua' => array(\r
794         'offset' => -25200000,\r
795         'longname' => 'Mountain Standard Time',\r
796         'shortname' => 'MST',\r
797         'hasdst' => true,\r
798         'dstlongname' => 'Mountain Daylight Time',\r
799         'dstshortname' => 'MDT' ),\r
800     'America/Dawson_Creek' => array(\r
801         'offset' => -25200000,\r
802         'longname' => 'Mountain Standard Time',\r
803         'shortname' => 'MST',\r
804         'hasdst' => false ),\r
805     'America/Denver' => array(\r
806         'offset' => -25200000,\r
807         'longname' => 'Mountain Standard Time',\r
808         'shortname' => 'MST',\r
809         'hasdst' => true,\r
810         'dstlongname' => 'Mountain Daylight Time',\r
811         'dstshortname' => 'MDT' ),\r
812     'America/Edmonton' => array(\r
813         'offset' => -25200000,\r
814         'longname' => 'Mountain Standard Time',\r
815         'shortname' => 'MST',\r
816         'hasdst' => true,\r
817         'dstlongname' => 'Mountain Daylight Time',\r
818         'dstshortname' => 'MDT' ),\r
819     'America/Hermosillo' => array(\r
820         'offset' => -25200000,\r
821         'longname' => 'Mountain Standard Time',\r
822         'shortname' => 'MST',\r
823         'hasdst' => false ),\r
824     'America/Inuvik' => array(\r
825         'offset' => -25200000,\r
826         'longname' => 'Mountain Standard Time',\r
827         'shortname' => 'MST',\r
828         'hasdst' => true,\r
829         'dstlongname' => 'Mountain Daylight Time',\r
830         'dstshortname' => 'MDT' ),\r
831     'America/Mazatlan' => array(\r
832         'offset' => -25200000,\r
833         'longname' => 'Mountain Standard Time',\r
834         'shortname' => 'MST',\r
835         'hasdst' => true,\r
836         'dstlongname' => 'Mountain Daylight Time',\r
837         'dstshortname' => 'MDT' ),\r
838     'America/Phoenix' => array(\r
839         'offset' => -25200000,\r
840         'longname' => 'Mountain Standard Time',\r
841         'shortname' => 'MST',\r
842         'hasdst' => false ),\r
843     'America/Shiprock' => array(\r
844         'offset' => -25200000,\r
845         'longname' => 'Mountain Standard Time',\r
846         'shortname' => 'MST',\r
847         'hasdst' => true,\r
848         'dstlongname' => 'Mountain Daylight Time',\r
849         'dstshortname' => 'MDT' ),\r
850     'America/Yellowknife' => array(\r
851         'offset' => -25200000,\r
852         'longname' => 'Mountain Standard Time',\r
853         'shortname' => 'MST',\r
854         'hasdst' => true,\r
855         'dstlongname' => 'Mountain Daylight Time',\r
856         'dstshortname' => 'MDT' ),\r
857     'Canada/Mountain' => array(\r
858         'offset' => -25200000,\r
859         'longname' => 'Mountain Standard Time',\r
860         'shortname' => 'MST',\r
861         'hasdst' => true,\r
862         'dstlongname' => 'Mountain Daylight Time',\r
863         'dstshortname' => 'MDT' ),\r
864     'Etc/GMT+7' => array(\r
865         'offset' => -25200000,\r
866         'longname' => 'GMT-07:00',\r
867         'shortname' => 'GMT-07:00',\r
868         'hasdst' => false ),\r
869     'MST' => array(\r
870         'offset' => -25200000,\r
871         'longname' => 'Mountain Standard Time',\r
872         'shortname' => 'MST',\r
873         'hasdst' => true,\r
874         'dstlongname' => 'Mountain Daylight Time',\r
875         'dstshortname' => 'MDT' ),\r
876     'MST7MDT' => array(\r
877         'offset' => -25200000,\r
878         'longname' => 'Mountain Standard Time',\r
879         'shortname' => 'MST',\r
880         'hasdst' => true,\r
881         'dstlongname' => 'Mountain Daylight Time',\r
882         'dstshortname' => 'MDT' ),\r
883     'Mexico/BajaSur' => array(\r
884         'offset' => -25200000,\r
885         'longname' => 'Mountain Standard Time',\r
886         'shortname' => 'MST',\r
887         'hasdst' => true,\r
888         'dstlongname' => 'Mountain Daylight Time',\r
889         'dstshortname' => 'MDT' ),\r
890     'Navajo' => array(\r
891         'offset' => -25200000,\r
892         'longname' => 'Mountain Standard Time',\r
893         'shortname' => 'MST',\r
894         'hasdst' => true,\r
895         'dstlongname' => 'Mountain Daylight Time',\r
896         'dstshortname' => 'MDT' ),\r
897     'PNT' => array(\r
898         'offset' => -25200000,\r
899         'longname' => 'Mountain Standard Time',\r
900         'shortname' => 'MST',\r
901         'hasdst' => false ),\r
902     'SystemV/MST7' => array(\r
903         'offset' => -25200000,\r
904         'longname' => 'Mountain Standard Time',\r
905         'shortname' => 'MST',\r
906         'hasdst' => false ),\r
907     'SystemV/MST7MDT' => array(\r
908         'offset' => -25200000,\r
909         'longname' => 'Mountain Standard Time',\r
910         'shortname' => 'MST',\r
911         'hasdst' => true,\r
912         'dstlongname' => 'Mountain Daylight Time',\r
913         'dstshortname' => 'MDT' ),\r
914     'US/Arizona' => array(\r
915         'offset' => -25200000,\r
916         'longname' => 'Mountain Standard Time',\r
917         'shortname' => 'MST',\r
918         'hasdst' => false ),\r
919     'US/Mountain' => array(\r
920         'offset' => -25200000,\r
921         'longname' => 'Mountain Standard Time',\r
922         'shortname' => 'MST',\r
923         'hasdst' => true,\r
924         'dstlongname' => 'Mountain Daylight Time',\r
925         'dstshortname' => 'MDT' ),\r
926     'America/Belize' => array(\r
927         'offset' => -21600000,\r
928         'longname' => 'Central Standard Time',\r
929         'shortname' => 'CST',\r
930         'hasdst' => false ),\r
931     'America/Cancun' => array(\r
932         'offset' => -21600000,\r
933         'longname' => 'Central Standard Time',\r
934         'shortname' => 'CST',\r
935         'hasdst' => true,\r
936         'dstlongname' => 'Central Daylight Time',\r
937         'dstshortname' => 'CDT' ),\r
938     'America/Chicago' => array(\r
939         'offset' => -21600000,\r
940         'longname' => 'Central Standard Time',\r
941         'shortname' => 'CST',\r
942         'hasdst' => true,\r
943         'dstlongname' => 'Central Daylight Time',\r
944         'dstshortname' => 'CDT' ),\r
945     'America/Costa_Rica' => array(\r
946         'offset' => -21600000,\r
947         'longname' => 'Central Standard Time',\r
948         'shortname' => 'CST',\r
949         'hasdst' => false ),\r
950     'America/El_Salvador' => array(\r
951         'offset' => -21600000,\r
952         'longname' => 'Central Standard Time',\r
953         'shortname' => 'CST',\r
954         'hasdst' => false ),\r
955     'America/Guatemala' => array(\r
956         'offset' => -21600000,\r
957         'longname' => 'Central Standard Time',\r
958         'shortname' => 'CST',\r
959         'hasdst' => false ),\r
960     'America/Managua' => array(\r
961         'offset' => -21600000,\r
962         'longname' => 'Central Standard Time',\r
963         'shortname' => 'CST',\r
964         'hasdst' => false ),\r
965     'America/Menominee' => array(\r
966         'offset' => -21600000,\r
967         'longname' => 'Central Standard Time',\r
968         'shortname' => 'CST',\r
969         'hasdst' => true,\r
970         'dstlongname' => 'Central Daylight Time',\r
971         'dstshortname' => 'CDT' ),\r
972     'America/Merida' => array(\r
973         'offset' => -21600000,\r
974         'longname' => 'Central Standard Time',\r
975         'shortname' => 'CST',\r
976         'hasdst' => true,\r
977         'dstlongname' => 'Central Daylight Time',\r
978         'dstshortname' => 'CDT' ),\r
979     'America/Mexico_City' => array(\r
980         'offset' => -21600000,\r
981         'longname' => 'Central Standard Time',\r
982         'shortname' => 'CST',\r
983         'hasdst' => false ),\r
984     'America/Monterrey' => array(\r
985         'offset' => -21600000,\r
986         'longname' => 'Central Standard Time',\r
987         'shortname' => 'CST',\r
988         'hasdst' => true,\r
989         'dstlongname' => 'Central Daylight Time',\r
990         'dstshortname' => 'CDT' ),\r
991     'America/North_Dakota/Center' => array(\r
992         'offset' => -21600000,\r
993         'longname' => 'Central Standard Time',\r
994         'shortname' => 'CST',\r
995         'hasdst' => true,\r
996         'dstlongname' => 'Central Daylight Time',\r
997         'dstshortname' => 'CDT' ),\r
998     'America/Rainy_River' => array(\r
999         'offset' => -21600000,\r
1000         'longname' => 'Central Standard Time',\r
1001         'shortname' => 'CST',\r
1002         'hasdst' => true,\r
1003         'dstlongname' => 'Central Daylight Time',\r
1004         'dstshortname' => 'CDT' ),\r
1005     'America/Rankin_Inlet' => array(\r
1006         'offset' => -21600000,\r
1007         'longname' => 'Eastern Standard Time',\r
1008         'shortname' => 'EST',\r
1009         'hasdst' => true,\r
1010         'dstlongname' => 'Eastern Daylight Time',\r
1011         'dstshortname' => 'EDT' ),\r
1012     'America/Regina' => array(\r
1013         'offset' => -21600000,\r
1014         'longname' => 'Central Standard Time',\r
1015         'shortname' => 'CST',\r
1016         'hasdst' => false ),\r
1017     'America/Swift_Current' => array(\r
1018         'offset' => -21600000,\r
1019         'longname' => 'Central Standard Time',\r
1020         'shortname' => 'CST',\r
1021         'hasdst' => false ),\r
1022     'America/Tegucigalpa' => array(\r
1023         'offset' => -21600000,\r
1024         'longname' => 'Central Standard Time',\r
1025         'shortname' => 'CST',\r
1026         'hasdst' => false ),\r
1027     'America/Winnipeg' => array(\r
1028         'offset' => -21600000,\r
1029         'longname' => 'Central Standard Time',\r
1030         'shortname' => 'CST',\r
1031         'hasdst' => true,\r
1032         'dstlongname' => 'Central Daylight Time',\r
1033         'dstshortname' => 'CDT' ),\r
1034     'CST' => array(\r
1035         'offset' => -21600000,\r
1036         'longname' => 'Central Standard Time',\r
1037         'shortname' => 'CST',\r
1038         'hasdst' => true,\r
1039         'dstlongname' => 'Central Daylight Time',\r
1040         'dstshortname' => 'CDT' ),\r
1041     'CST6CDT' => array(\r
1042         'offset' => -21600000,\r
1043         'longname' => 'Central Standard Time',\r
1044         'shortname' => 'CST',\r
1045         'hasdst' => true,\r
1046         'dstlongname' => 'Central Daylight Time',\r
1047         'dstshortname' => 'CDT' ),\r
1048     'Canada/Central' => array(\r
1049         'offset' => -21600000,\r
1050         'longname' => 'Central Standard Time',\r
1051         'shortname' => 'CST',\r
1052         'hasdst' => true,\r
1053         'dstlongname' => 'Central Daylight Time',\r
1054         'dstshortname' => 'CDT' ),\r
1055     'Canada/East-Saskatchewan' => array(\r
1056         'offset' => -21600000,\r
1057         'longname' => 'Central Standard Time',\r
1058         'shortname' => 'CST',\r
1059         'hasdst' => false ),\r
1060     'Canada/Saskatchewan' => array(\r
1061         'offset' => -21600000,\r
1062         'longname' => 'Central Standard Time',\r
1063         'shortname' => 'CST',\r
1064         'hasdst' => false ),\r
1065     'Chile/EasterIsland' => array(\r
1066         'offset' => -21600000,\r
1067         'longname' => 'Easter Is. Time',\r
1068         'shortname' => 'EAST',\r
1069         'hasdst' => true,\r
1070         'dstlongname' => 'Easter Is. Summer Time',\r
1071         'dstshortname' => 'EASST' ),\r
1072     'Etc/GMT+6' => array(\r
1073         'offset' => -21600000,\r
1074         'longname' => 'GMT-06:00',\r
1075         'shortname' => 'GMT-06:00',\r
1076         'hasdst' => false ),\r
1077     'Mexico/General' => array(\r
1078         'offset' => -21600000,\r
1079         'longname' => 'Central Standard Time',\r
1080         'shortname' => 'CST',\r
1081         'hasdst' => false ),\r
1082     'Pacific/Easter' => array(\r
1083         'offset' => -21600000,\r
1084         'longname' => 'Easter Is. Time',\r
1085         'shortname' => 'EAST',\r
1086         'hasdst' => true,\r
1087         'dstlongname' => 'Easter Is. Summer Time',\r
1088         'dstshortname' => 'EASST' ),\r
1089     'Pacific/Galapagos' => array(\r
1090         'offset' => -21600000,\r
1091         'longname' => 'Galapagos Time',\r
1092         'shortname' => 'GALT',\r
1093         'hasdst' => false ),\r
1094     'SystemV/CST6' => array(\r
1095         'offset' => -21600000,\r
1096         'longname' => 'Central Standard Time',\r
1097         'shortname' => 'CST',\r
1098         'hasdst' => false ),\r
1099     'SystemV/CST6CDT' => array(\r
1100         'offset' => -21600000,\r
1101         'longname' => 'Central Standard Time',\r
1102         'shortname' => 'CST',\r
1103         'hasdst' => true,\r
1104         'dstlongname' => 'Central Daylight Time',\r
1105         'dstshortname' => 'CDT' ),\r
1106     'US/Central' => array(\r
1107         'offset' => -21600000,\r
1108         'longname' => 'Central Standard Time',\r
1109         'shortname' => 'CST',\r
1110         'hasdst' => true,\r
1111         'dstlongname' => 'Central Daylight Time',\r
1112         'dstshortname' => 'CDT' ),\r
1113     'America/Bogota' => array(\r
1114         'offset' => -18000000,\r
1115         'longname' => 'Colombia Time',\r
1116         'shortname' => 'COT',\r
1117         'hasdst' => false ),\r
1118     'America/Cayman' => array(\r
1119         'offset' => -18000000,\r
1120         'longname' => 'Eastern Standard Time',\r
1121         'shortname' => 'EST',\r
1122         'hasdst' => false ),\r
1123     'America/Detroit' => array(\r
1124         'offset' => -18000000,\r
1125         'longname' => 'Eastern Standard Time',\r
1126         'shortname' => 'EST',\r
1127         'hasdst' => true,\r
1128         'dstlongname' => 'Eastern Daylight Time',\r
1129         'dstshortname' => 'EDT' ),\r
1130     'America/Eirunepe' => array(\r
1131         'offset' => -18000000,\r
1132         'longname' => 'Acre Time',\r
1133         'shortname' => 'ACT',\r
1134         'hasdst' => false ),\r
1135     'America/Fort_Wayne' => array(\r
1136         'offset' => -18000000,\r
1137         'longname' => 'Eastern Standard Time',\r
1138         'shortname' => 'EST',\r
1139         'hasdst' => false ),\r
1140     'America/Grand_Turk' => array(\r
1141         'offset' => -18000000,\r
1142         'longname' => 'Eastern Standard Time',\r
1143         'shortname' => 'EST',\r
1144         'hasdst' => true,\r
1145         'dstlongname' => 'Eastern Daylight Time',\r
1146         'dstshortname' => 'EDT' ),\r
1147     'America/Guayaquil' => array(\r
1148         'offset' => -18000000,\r
1149         'longname' => 'Ecuador Time',\r
1150         'shortname' => 'ECT',\r
1151         'hasdst' => false ),\r
1152     'America/Havana' => array(\r
1153         'offset' => -18000000,\r
1154         'longname' => 'Central Standard Time',\r
1155         'shortname' => 'CST',\r
1156         'hasdst' => true,\r
1157         'dstlongname' => 'Central Daylight Time',\r
1158         'dstshortname' => 'CDT' ),\r
1159     'America/Indiana/Indianapolis' => array(\r
1160         'offset' => -18000000,\r
1161         'longname' => 'Eastern Standard Time',\r
1162         'shortname' => 'EST',\r
1163         'hasdst' => false ),\r
1164     'America/Indiana/Knox' => array(\r
1165         'offset' => -18000000,\r
1166         'longname' => 'Eastern Standard Time',\r
1167         'shortname' => 'EST',\r
1168         'hasdst' => false ),\r
1169     'America/Indiana/Marengo' => array(\r
1170         'offset' => -18000000,\r
1171         'longname' => 'Eastern Standard Time',\r
1172         'shortname' => 'EST',\r
1173         'hasdst' => false ),\r
1174     'America/Indiana/Vevay' => array(\r
1175         'offset' => -18000000,\r
1176         'longname' => 'Eastern Standard Time',\r
1177         'shortname' => 'EST',\r
1178         'hasdst' => false ),\r
1179     'America/Indianapolis' => array(\r
1180         'offset' => -18000000,\r
1181         'longname' => 'Eastern Standard Time',\r
1182         'shortname' => 'EST',\r
1183         'hasdst' => false ),\r
1184     'America/Iqaluit' => array(\r
1185         'offset' => -18000000,\r
1186         'longname' => 'Eastern Standard Time',\r
1187         'shortname' => 'EST',\r
1188         'hasdst' => true,\r
1189         'dstlongname' => 'Eastern Daylight Time',\r
1190         'dstshortname' => 'EDT' ),\r
1191     'America/Jamaica' => array(\r
1192         'offset' => -18000000,\r
1193         'longname' => 'Eastern Standard Time',\r
1194         'shortname' => 'EST',\r
1195         'hasdst' => false ),\r
1196     'America/Kentucky/Louisville' => array(\r
1197         'offset' => -18000000,\r
1198         'longname' => 'Eastern Standard Time',\r
1199         'shortname' => 'EST',\r
1200         'hasdst' => true,\r
1201         'dstlongname' => 'Eastern Daylight Time',\r
1202         'dstshortname' => 'EDT' ),\r
1203     'America/Kentucky/Monticello' => array(\r
1204         'offset' => -18000000,\r
1205         'longname' => 'Eastern Standard Time',\r
1206         'shortname' => 'EST',\r
1207         'hasdst' => true,\r
1208         'dstlongname' => 'Eastern Daylight Time',\r
1209         'dstshortname' => 'EDT' ),\r
1210     'America/Knox_IN' => array(\r
1211         'offset' => -18000000,\r
1212         'longname' => 'Eastern Standard Time',\r
1213         'shortname' => 'EST',\r
1214         'hasdst' => false ),\r
1215     'America/Lima' => array(\r
1216         'offset' => -18000000,\r
1217         'longname' => 'Peru Time',\r
1218         'shortname' => 'PET',\r
1219         'hasdst' => false ),\r
1220     'America/Louisville' => array(\r
1221         'offset' => -18000000,\r
1222         'longname' => 'Eastern Standard Time',\r
1223         'shortname' => 'EST',\r
1224         'hasdst' => true,\r
1225         'dstlongname' => 'Eastern Daylight Time',\r
1226         'dstshortname' => 'EDT' ),\r
1227     'America/Montreal' => array(\r
1228         'offset' => -18000000,\r
1229         'longname' => 'Eastern Standard Time',\r
1230         'shortname' => 'EST',\r
1231         'hasdst' => true,\r
1232         'dstlongname' => 'Eastern Daylight Time',\r
1233         'dstshortname' => 'EDT' ),\r
1234     'America/Nassau' => array(\r
1235         'offset' => -18000000,\r
1236         'longname' => 'Eastern Standard Time',\r
1237         'shortname' => 'EST',\r
1238         'hasdst' => true,\r
1239         'dstlongname' => 'Eastern Daylight Time',\r
1240         'dstshortname' => 'EDT' ),\r
1241     'America/New_York' => array(\r
1242         'offset' => -18000000,\r
1243         'longname' => 'Eastern Standard Time',\r
1244         'shortname' => 'EST',\r
1245         'hasdst' => true,\r
1246         'dstlongname' => 'Eastern Daylight Time',\r
1247         'dstshortname' => 'EDT' ),\r
1248     'America/Nipigon' => array(\r
1249         'offset' => -18000000,\r
1250         'longname' => 'Eastern Standard Time',\r
1251         'shortname' => 'EST',\r
1252         'hasdst' => true,\r
1253         'dstlongname' => 'Eastern Daylight Time',\r
1254         'dstshortname' => 'EDT' ),\r
1255     'America/Panama' => array(\r
1256         'offset' => -18000000,\r
1257         'longname' => 'Eastern Standard Time',\r
1258         'shortname' => 'EST',\r
1259         'hasdst' => false ),\r
1260     'America/Pangnirtung' => array(\r
1261         'offset' => -18000000,\r
1262         'longname' => 'Eastern Standard Time',\r
1263         'shortname' => 'EST',\r
1264         'hasdst' => true,\r
1265         'dstlongname' => 'Eastern Daylight Time',\r
1266         'dstshortname' => 'EDT' ),\r
1267     'America/Port-au-Prince' => array(\r
1268         'offset' => -18000000,\r
1269         'longname' => 'Eastern Standard Time',\r
1270         'shortname' => 'EST',\r
1271         'hasdst' => false ),\r
1272     'America/Porto_Acre' => array(\r
1273         'offset' => -18000000,\r
1274         'longname' => 'Acre Time',\r
1275         'shortname' => 'ACT',\r
1276         'hasdst' => false ),\r
1277     'America/Rio_Branco' => array(\r
1278         'offset' => -18000000,\r
1279         'longname' => 'Acre Time',\r
1280         'shortname' => 'ACT',\r
1281         'hasdst' => false ),\r
1282     'America/Thunder_Bay' => array(\r
1283         'offset' => -18000000,\r
1284         'longname' => 'Eastern Standard Time',\r
1285         'shortname' => 'EST',\r
1286         'hasdst' => true,\r
1287         'dstlongname' => 'Eastern Daylight Time',\r
1288         'dstshortname' => 'EDT' ),\r
1289     'Brazil/Acre' => array(\r
1290         'offset' => -18000000,\r
1291         'longname' => 'Acre Time',\r
1292         'shortname' => 'ACT',\r
1293         'hasdst' => false ),\r
1294     'Canada/Eastern' => array(\r
1295         'offset' => -18000000,\r
1296         'longname' => 'Eastern Standard Time',\r
1297         'shortname' => 'EST',\r
1298         'hasdst' => true,\r
1299         'dstlongname' => 'Eastern Daylight Time',\r
1300         'dstshortname' => 'EDT' ),\r
1301     'Cuba' => array(\r
1302         'offset' => -18000000,\r
1303         'longname' => 'Central Standard Time',\r
1304         'shortname' => 'CST',\r
1305         'hasdst' => true,\r
1306         'dstlongname' => 'Central Daylight Time',\r
1307         'dstshortname' => 'CDT' ),\r
1308     'EST' => array(\r
1309         'offset' => -18000000,\r
1310         'longname' => 'Eastern Standard Time',\r
1311         'shortname' => 'EST',\r
1312         'hasdst' => true,\r
1313         'dstlongname' => 'Eastern Daylight Time',\r
1314         'dstshortname' => 'EDT' ),\r
1315     'EST5EDT' => array(\r
1316         'offset' => -18000000,\r
1317         'longname' => 'Eastern Standard Time',\r
1318         'shortname' => 'EST',\r
1319         'hasdst' => true,\r
1320         'dstlongname' => 'Eastern Daylight Time',\r
1321         'dstshortname' => 'EDT' ),\r
1322     'Etc/GMT+5' => array(\r
1323         'offset' => -18000000,\r
1324         'longname' => 'GMT-05:00',\r
1325         'shortname' => 'GMT-05:00',\r
1326         'hasdst' => false ),\r
1327     'IET' => array(\r
1328         'offset' => -18000000,\r
1329         'longname' => 'Eastern Standard Time',\r
1330         'shortname' => 'EST',\r
1331         'hasdst' => false ),\r
1332     'Jamaica' => array(\r
1333         'offset' => -18000000,\r
1334         'longname' => 'Eastern Standard Time',\r
1335         'shortname' => 'EST',\r
1336         'hasdst' => false ),\r
1337     'SystemV/EST5' => array(\r
1338         'offset' => -18000000,\r
1339         'longname' => 'Eastern Standard Time',\r
1340         'shortname' => 'EST',\r
1341         'hasdst' => false ),\r
1342     'SystemV/EST5EDT' => array(\r
1343         'offset' => -18000000,\r
1344         'longname' => 'Eastern Standard Time',\r
1345         'shortname' => 'EST',\r
1346         'hasdst' => true,\r
1347         'dstlongname' => 'Eastern Daylight Time',\r
1348         'dstshortname' => 'EDT' ),\r
1349     'US/East-Indiana' => array(\r
1350         'offset' => -18000000,\r
1351         'longname' => 'Eastern Standard Time',\r
1352         'shortname' => 'EST',\r
1353         'hasdst' => false ),\r
1354     'US/Eastern' => array(\r
1355         'offset' => -18000000,\r
1356         'longname' => 'Eastern Standard Time',\r
1357         'shortname' => 'EST',\r
1358         'hasdst' => true,\r
1359         'dstlongname' => 'Eastern Daylight Time',\r
1360         'dstshortname' => 'EDT' ),\r
1361     'US/Indiana-Starke' => array(\r
1362         'offset' => -18000000,\r
1363         'longname' => 'Eastern Standard Time',\r
1364         'shortname' => 'EST',\r
1365         'hasdst' => false ),\r
1366     'US/Michigan' => array(\r
1367         'offset' => -18000000,\r
1368         'longname' => 'Eastern Standard Time',\r
1369         'shortname' => 'EST',\r
1370         'hasdst' => true,\r
1371         'dstlongname' => 'Eastern Daylight Time',\r
1372         'dstshortname' => 'EDT' ),\r
1373     'America/Anguilla' => array(\r
1374         'offset' => -14400000,\r
1375         'longname' => 'Atlantic Standard Time',\r
1376         'shortname' => 'AST',\r
1377         'hasdst' => false ),\r
1378     'America/Antigua' => array(\r
1379         'offset' => -14400000,\r
1380         'longname' => 'Atlantic Standard Time',\r
1381         'shortname' => 'AST',\r
1382         'hasdst' => false ),\r
1383     'America/Aruba' => array(\r
1384         'offset' => -14400000,\r
1385         'longname' => 'Atlantic Standard Time',\r
1386         'shortname' => 'AST',\r
1387         'hasdst' => false ),\r
1388     'America/Asuncion' => array(\r
1389         'offset' => -14400000,\r
1390         'longname' => 'Paraguay Time',\r
1391         'shortname' => 'PYT',\r
1392         'hasdst' => true,\r
1393         'dstlongname' => 'Paraguay Summer Time',\r
1394         'dstshortname' => 'PYST' ),\r
1395     'America/Barbados' => array(\r
1396         'offset' => -14400000,\r
1397         'longname' => 'Atlantic Standard Time',\r
1398         'shortname' => 'AST',\r
1399         'hasdst' => false ),\r
1400     'America/Boa_Vista' => array(\r
1401         'offset' => -14400000,\r
1402         'longname' => 'Amazon Standard Time',\r
1403         'shortname' => 'AMT',\r
1404         'hasdst' => false ),\r
1405     'America/Caracas' => array(\r
1406         'offset' => -14400000,\r
1407         'longname' => 'Venezuela Time',\r
1408         'shortname' => 'VET',\r
1409         'hasdst' => false ),\r
1410     'America/Cuiaba' => array(\r
1411         'offset' => -14400000,\r
1412         'longname' => 'Amazon Standard Time',\r
1413         'shortname' => 'AMT',\r
1414         'hasdst' => true,\r
1415         'dstlongname' => 'Amazon Summer Time',\r
1416         'dstshortname' => 'AMST' ),\r
1417     'America/Curacao' => array(\r
1418         'offset' => -14400000,\r
1419         'longname' => 'Atlantic Standard Time',\r
1420         'shortname' => 'AST',\r
1421         'hasdst' => false ),\r
1422     'America/Dominica' => array(\r
1423         'offset' => -14400000,\r
1424         'longname' => 'Atlantic Standard Time',\r
1425         'shortname' => 'AST',\r
1426         'hasdst' => false ),\r
1427     'America/Glace_Bay' => array(\r
1428         'offset' => -14400000,\r
1429         'longname' => 'Atlantic Standard Time',\r
1430         'shortname' => 'AST',\r
1431         'hasdst' => true,\r
1432         'dstlongname' => 'Atlantic Daylight Time',\r
1433         'dstshortname' => 'ADT' ),\r
1434     'America/Goose_Bay' => array(\r
1435         'offset' => -14400000,\r
1436         'longname' => 'Atlantic Standard Time',\r
1437         'shortname' => 'AST',\r
1438         'hasdst' => true,\r
1439         'dstlongname' => 'Atlantic Daylight Time',\r
1440         'dstshortname' => 'ADT' ),\r
1441     'America/Grenada' => array(\r
1442         'offset' => -14400000,\r
1443         'longname' => 'Atlantic Standard Time',\r
1444         'shortname' => 'AST',\r
1445         'hasdst' => false ),\r
1446     'America/Guadeloupe' => array(\r
1447         'offset' => -14400000,\r
1448         'longname' => 'Atlantic Standard Time',\r
1449         'shortname' => 'AST',\r
1450         'hasdst' => false ),\r
1451     'America/Guyana' => array(\r
1452         'offset' => -14400000,\r
1453         'longname' => 'Guyana Time',\r
1454         'shortname' => 'GYT',\r
1455         'hasdst' => false ),\r
1456     'America/Halifax' => array(\r
1457         'offset' => -14400000,\r
1458         'longname' => 'Atlantic Standard Time',\r
1459         'shortname' => 'AST',\r
1460         'hasdst' => true,\r
1461         'dstlongname' => 'Atlantic Daylight Time',\r
1462         'dstshortname' => 'ADT' ),\r
1463     'America/La_Paz' => array(\r
1464         'offset' => -14400000,\r
1465         'longname' => 'Bolivia Time',\r
1466         'shortname' => 'BOT',\r
1467         'hasdst' => false ),\r
1468     'America/Manaus' => array(\r
1469         'offset' => -14400000,\r
1470         'longname' => 'Amazon Standard Time',\r
1471         'shortname' => 'AMT',\r
1472         'hasdst' => false ),\r
1473     'America/Martinique' => array(\r
1474         'offset' => -14400000,\r
1475         'longname' => 'Atlantic Standard Time',\r
1476         'shortname' => 'AST',\r
1477         'hasdst' => false ),\r
1478     'America/Montserrat' => array(\r
1479         'offset' => -14400000,\r
1480         'longname' => 'Atlantic Standard Time',\r
1481         'shortname' => 'AST',\r
1482         'hasdst' => false ),\r
1483     'America/Port_of_Spain' => array(\r
1484         'offset' => -14400000,\r
1485         'longname' => 'Atlantic Standard Time',\r
1486         'shortname' => 'AST',\r
1487         'hasdst' => false ),\r
1488     'America/Porto_Velho' => array(\r
1489         'offset' => -14400000,\r
1490         'longname' => 'Amazon Standard Time',\r
1491         'shortname' => 'AMT',\r
1492         'hasdst' => false ),\r
1493     'America/Puerto_Rico' => array(\r
1494         'offset' => -14400000,\r
1495         'longname' => 'Atlantic Standard Time',\r
1496         'shortname' => 'AST',\r
1497         'hasdst' => false ),\r
1498     'America/Santiago' => array(\r
1499         'offset' => -14400000,\r
1500         'longname' => 'Chile Time',\r
1501         'shortname' => 'CLT',\r
1502         'hasdst' => true,\r
1503         'dstlongname' => 'Chile Summer Time',\r
1504         'dstshortname' => 'CLST' ),\r
1505     'America/Santo_Domingo' => array(\r
1506         'offset' => -14400000,\r
1507         'longname' => 'Atlantic Standard Time',\r
1508         'shortname' => 'AST',\r
1509         'hasdst' => false ),\r
1510     'America/St_Kitts' => array(\r
1511         'offset' => -14400000,\r
1512         'longname' => 'Atlantic Standard Time',\r
1513         'shortname' => 'AST',\r
1514         'hasdst' => false ),\r
1515     'America/St_Lucia' => array(\r
1516         'offset' => -14400000,\r
1517         'longname' => 'Atlantic Standard Time',\r
1518         'shortname' => 'AST',\r
1519         'hasdst' => false ),\r
1520     'America/St_Thomas' => array(\r
1521         'offset' => -14400000,\r
1522         'longname' => 'Atlantic Standard Time',\r
1523         'shortname' => 'AST',\r
1524         'hasdst' => false ),\r
1525     'America/St_Vincent' => array(\r
1526         'offset' => -14400000,\r
1527         'longname' => 'Atlantic Standard Time',\r
1528         'shortname' => 'AST',\r
1529         'hasdst' => false ),\r
1530     'America/Thule' => array(\r
1531         'offset' => -14400000,\r
1532         'longname' => 'Atlantic Standard Time',\r
1533         'shortname' => 'AST',\r
1534         'hasdst' => false ),\r
1535     'America/Tortola' => array(\r
1536         'offset' => -14400000,\r
1537         'longname' => 'Atlantic Standard Time',\r
1538         'shortname' => 'AST',\r
1539         'hasdst' => false ),\r
1540     'America/Virgin' => array(\r
1541         'offset' => -14400000,\r
1542         'longname' => 'Atlantic Standard Time',\r
1543         'shortname' => 'AST',\r
1544         'hasdst' => false ),\r
1545     'Antarctica/Palmer' => array(\r
1546         'offset' => -14400000,\r
1547         'longname' => 'Chile Time',\r
1548         'shortname' => 'CLT',\r
1549         'hasdst' => true,\r
1550         'dstlongname' => 'Chile Summer Time',\r
1551         'dstshortname' => 'CLST' ),\r
1552     'Atlantic/Bermuda' => array(\r
1553         'offset' => -14400000,\r
1554         'longname' => 'Atlantic Standard Time',\r
1555         'shortname' => 'AST',\r
1556         'hasdst' => true,\r
1557         'dstlongname' => 'Atlantic Daylight Time',\r
1558         'dstshortname' => 'ADT' ),\r
1559     'Atlantic/Stanley' => array(\r
1560         'offset' => -14400000,\r
1561         'longname' => 'Falkland Is. Time',\r
1562         'shortname' => 'FKT',\r
1563         'hasdst' => true,\r
1564         'dstlongname' => 'Falkland Is. Summer Time',\r
1565         'dstshortname' => 'FKST' ),\r
1566     'Brazil/West' => array(\r
1567         'offset' => -14400000,\r
1568         'longname' => 'Amazon Standard Time',\r
1569         'shortname' => 'AMT',\r
1570         'hasdst' => false ),\r
1571     'Canada/Atlantic' => array(\r
1572         'offset' => -14400000,\r
1573         'longname' => 'Atlantic Standard Time',\r
1574         'shortname' => 'AST',\r
1575         'hasdst' => true,\r
1576         'dstlongname' => 'Atlantic Daylight Time',\r
1577         'dstshortname' => 'ADT' ),\r
1578     'Chile/Continental' => array(\r
1579         'offset' => -14400000,\r
1580         'longname' => 'Chile Time',\r
1581         'shortname' => 'CLT',\r
1582         'hasdst' => true,\r
1583         'dstlongname' => 'Chile Summer Time',\r
1584         'dstshortname' => 'CLST' ),\r
1585     'Etc/GMT+4' => array(\r
1586         'offset' => -14400000,\r
1587         'longname' => 'GMT-04:00',\r
1588         'shortname' => 'GMT-04:00',\r
1589         'hasdst' => false ),\r
1590     'PRT' => array(\r
1591         'offset' => -14400000,\r
1592         'longname' => 'Atlantic Standard Time',\r
1593         'shortname' => 'AST',\r
1594         'hasdst' => false ),\r
1595     'SystemV/AST4' => array(\r
1596         'offset' => -14400000,\r
1597         'longname' => 'Atlantic Standard Time',\r
1598         'shortname' => 'AST',\r
1599         'hasdst' => false ),\r
1600     'SystemV/AST4ADT' => array(\r
1601         'offset' => -14400000,\r
1602         'longname' => 'Atlantic Standard Time',\r
1603         'shortname' => 'AST',\r
1604         'hasdst' => true,\r
1605         'dstlongname' => 'Atlantic Daylight Time',\r
1606         'dstshortname' => 'ADT' ),\r
1607     'America/St_Johns' => array(\r
1608         'offset' => -12600000,\r
1609         'longname' => 'Newfoundland Standard Time',\r
1610         'shortname' => 'NST',\r
1611         'hasdst' => true,\r
1612         'dstlongname' => 'Newfoundland Daylight Time',\r
1613         'dstshortname' => 'NDT' ),\r
1614     'CNT' => array(\r
1615         'offset' => -12600000,\r
1616         'longname' => 'Newfoundland Standard Time',\r
1617         'shortname' => 'NST',\r
1618         'hasdst' => true,\r
1619         'dstlongname' => 'Newfoundland Daylight Time',\r
1620         'dstshortname' => 'NDT' ),\r
1621     'Canada/Newfoundland' => array(\r
1622         'offset' => -12600000,\r
1623         'longname' => 'Newfoundland Standard Time',\r
1624         'shortname' => 'NST',\r
1625         'hasdst' => true,\r
1626         'dstlongname' => 'Newfoundland Daylight Time',\r
1627         'dstshortname' => 'NDT' ),\r
1628     'AGT' => array(\r
1629         'offset' => -10800000,\r
1630         'longname' => 'Argentine Time',\r
1631         'shortname' => 'ART',\r
1632         'hasdst' => false ),\r
1633     'America/Araguaina' => array(\r
1634         'offset' => -10800000,\r
1635         'longname' => 'Brazil Time',\r
1636         'shortname' => 'BRT',\r
1637         'hasdst' => true,\r
1638         'dstlongname' => 'Brazil Summer Time',\r
1639         'dstshortname' => 'BRST' ),\r
1640     'America/Belem' => array(\r
1641         'offset' => -10800000,\r
1642         'longname' => 'Brazil Time',\r
1643         'shortname' => 'BRT',\r
1644         'hasdst' => false ),\r
1645     'America/Buenos_Aires' => array(\r
1646         'offset' => -10800000,\r
1647         'longname' => 'Argentine Time',\r
1648         'shortname' => 'ART',\r
1649         'hasdst' => false ),\r
1650     'America/Catamarca' => array(\r
1651         'offset' => -10800000,\r
1652         'longname' => 'Argentine Time',\r
1653         'shortname' => 'ART',\r
1654         'hasdst' => false ),\r
1655     'America/Cayenne' => array(\r
1656         'offset' => -10800000,\r
1657         'longname' => 'French Guiana Time',\r
1658         'shortname' => 'GFT',\r
1659         'hasdst' => false ),\r
1660     'America/Cordoba' => array(\r
1661         'offset' => -10800000,\r
1662         'longname' => 'Argentine Time',\r
1663         'shortname' => 'ART',\r
1664         'hasdst' => false ),\r
1665     'America/Fortaleza' => array(\r
1666         'offset' => -10800000,\r
1667         'longname' => 'Brazil Time',\r
1668         'shortname' => 'BRT',\r
1669         'hasdst' => true,\r
1670         'dstlongname' => 'Brazil Summer Time',\r
1671         'dstshortname' => 'BRST' ),\r
1672     'America/Godthab' => array(\r
1673         'offset' => -10800000,\r
1674         'longname' => 'Western Greenland Time',\r
1675         'shortname' => 'WGT',\r
1676         'hasdst' => true,\r
1677         'dstlongname' => 'Western Greenland Summer Time',\r
1678         'dstshortname' => 'WGST' ),\r
1679     'America/Jujuy' => array(\r
1680         'offset' => -10800000,\r
1681         'longname' => 'Argentine Time',\r
1682         'shortname' => 'ART',\r
1683         'hasdst' => false ),\r
1684     'America/Maceio' => array(\r
1685         'offset' => -10800000,\r
1686         'longname' => 'Brazil Time',\r
1687         'shortname' => 'BRT',\r
1688         'hasdst' => true,\r
1689         'dstlongname' => 'Brazil Summer Time',\r
1690         'dstshortname' => 'BRST' ),\r
1691     'America/Mendoza' => array(\r
1692         'offset' => -10800000,\r
1693         'longname' => 'Argentine Time',\r
1694         'shortname' => 'ART',\r
1695         'hasdst' => false ),\r
1696     'America/Miquelon' => array(\r
1697         'offset' => -10800000,\r
1698         'longname' => 'Pierre & Miquelon Standard Time',\r
1699         'shortname' => 'PMST',\r
1700         'hasdst' => true,\r
1701         'dstlongname' => 'Pierre & Miquelon Daylight Time',\r
1702         'dstshortname' => 'PMDT' ),\r
1703     'America/Montevideo' => array(\r
1704         'offset' => -10800000,\r
1705         'longname' => 'Uruguay Time',\r
1706         'shortname' => 'UYT',\r
1707         'hasdst' => false ),\r
1708     'America/Paramaribo' => array(\r
1709         'offset' => -10800000,\r
1710         'longname' => 'Suriname Time',\r
1711         'shortname' => 'SRT',\r
1712         'hasdst' => false ),\r
1713     'America/Recife' => array(\r
1714         'offset' => -10800000,\r
1715         'longname' => 'Brazil Time',\r
1716         'shortname' => 'BRT',\r
1717         'hasdst' => true,\r
1718         'dstlongname' => 'Brazil Summer Time',\r
1719         'dstshortname' => 'BRST' ),\r
1720     'America/Rosario' => array(\r
1721         'offset' => -10800000,\r
1722         'longname' => 'Argentine Time',\r
1723         'shortname' => 'ART',\r
1724         'hasdst' => false ),\r
1725     'America/Sao_Paulo' => array(\r
1726         'offset' => -10800000,\r
1727         'longname' => 'Brazil Time',\r
1728         'shortname' => 'BRT',\r
1729         'hasdst' => true,\r
1730         'dstlongname' => 'Brazil Summer Time',\r
1731         'dstshortname' => 'BRST' ),\r
1732     'BET' => array(\r
1733         'offset' => -10800000,\r
1734         'longname' => 'Brazil Time',\r
1735         'shortname' => 'BRT',\r
1736         'hasdst' => true,\r
1737         'dstlongname' => 'Brazil Summer Time',\r
1738         'dstshortname' => 'BRST' ),\r
1739     'Brazil/East' => array(\r
1740         'offset' => -10800000,\r
1741         'longname' => 'Brazil Time',\r
1742         'shortname' => 'BRT',\r
1743         'hasdst' => true,\r
1744         'dstlongname' => 'Brazil Summer Time',\r
1745         'dstshortname' => 'BRST' ),\r
1746     'Etc/GMT+3' => array(\r
1747         'offset' => -10800000,\r
1748         'longname' => 'GMT-03:00',\r
1749         'shortname' => 'GMT-03:00',\r
1750         'hasdst' => false ),\r
1751     'America/Noronha' => array(\r
1752         'offset' => -7200000,\r
1753         'longname' => 'Fernando de Noronha Time',\r
1754         'shortname' => 'FNT',\r
1755         'hasdst' => false ),\r
1756     'Atlantic/South_Georgia' => array(\r
1757         'offset' => -7200000,\r
1758         'longname' => 'South Georgia Standard Time',\r
1759         'shortname' => 'GST',\r
1760         'hasdst' => false ),\r
1761     'Brazil/DeNoronha' => array(\r
1762         'offset' => -7200000,\r
1763         'longname' => 'Fernando de Noronha Time',\r
1764         'shortname' => 'FNT',\r
1765         'hasdst' => false ),\r
1766     'Etc/GMT+2' => array(\r
1767         'offset' => -7200000,\r
1768         'longname' => 'GMT-02:00',\r
1769         'shortname' => 'GMT-02:00',\r
1770         'hasdst' => false ),\r
1771     'America/Scoresbysund' => array(\r
1772         'offset' => -3600000,\r
1773         'longname' => 'Eastern Greenland Time',\r
1774         'shortname' => 'EGT',\r
1775         'hasdst' => true,\r
1776         'dstlongname' => 'Eastern Greenland Summer Time',\r
1777         'dstshortname' => 'EGST' ),\r
1778     'Atlantic/Azores' => array(\r
1779         'offset' => -3600000,\r
1780         'longname' => 'Azores Time',\r
1781         'shortname' => 'AZOT',\r
1782         'hasdst' => true,\r
1783         'dstlongname' => 'Azores Summer Time',\r
1784         'dstshortname' => 'AZOST' ),\r
1785     'Atlantic/Cape_Verde' => array(\r
1786         'offset' => -3600000,\r
1787         'longname' => 'Cape Verde Time',\r
1788         'shortname' => 'CVT',\r
1789         'hasdst' => false ),\r
1790     'Etc/GMT+1' => array(\r
1791         'offset' => -3600000,\r
1792         'longname' => 'GMT-01:00',\r
1793         'shortname' => 'GMT-01:00',\r
1794         'hasdst' => false ),\r
1795     'Africa/Abidjan' => array(\r
1796         'offset' => 0,\r
1797         'longname' => 'Greenwich Mean Time',\r
1798         'shortname' => 'GMT',\r
1799         'hasdst' => false ),\r
1800     'Africa/Accra' => array(\r
1801         'offset' => 0,\r
1802         'longname' => 'Greenwich Mean Time',\r
1803         'shortname' => 'GMT',\r
1804         'hasdst' => false ),\r
1805     'Africa/Bamako' => array(\r
1806         'offset' => 0,\r
1807         'longname' => 'Greenwich Mean Time',\r
1808         'shortname' => 'GMT',\r
1809         'hasdst' => false ),\r
1810     'Africa/Banjul' => array(\r
1811         'offset' => 0,\r
1812         'longname' => 'Greenwich Mean Time',\r
1813         'shortname' => 'GMT',\r
1814         'hasdst' => false ),\r
1815     'Africa/Bissau' => array(\r
1816         'offset' => 0,\r
1817         'longname' => 'Greenwich Mean Time',\r
1818         'shortname' => 'GMT',\r
1819         'hasdst' => false ),\r
1820     'Africa/Casablanca' => array(\r
1821         'offset' => 0,\r
1822         'longname' => 'Western European Time',\r
1823         'shortname' => 'WET',\r
1824         'hasdst' => false ),\r
1825     'Africa/Conakry' => array(\r
1826         'offset' => 0,\r
1827         'longname' => 'Greenwich Mean Time',\r
1828         'shortname' => 'GMT',\r
1829         'hasdst' => false ),\r
1830     'Africa/Dakar' => array(\r
1831         'offset' => 0,\r
1832         'longname' => 'Greenwich Mean Time',\r
1833         'shortname' => 'GMT',\r
1834         'hasdst' => false ),\r
1835     'Africa/El_Aaiun' => array(\r
1836         'offset' => 0,\r
1837         'longname' => 'Western European Time',\r
1838         'shortname' => 'WET',\r
1839         'hasdst' => false ),\r
1840     'Africa/Freetown' => array(\r
1841         'offset' => 0,\r
1842         'longname' => 'Greenwich Mean Time',\r
1843         'shortname' => 'GMT',\r
1844         'hasdst' => false ),\r
1845     'Africa/Lome' => array(\r
1846         'offset' => 0,\r
1847         'longname' => 'Greenwich Mean Time',\r
1848         'shortname' => 'GMT',\r
1849         'hasdst' => false ),\r
1850     'Africa/Monrovia' => array(\r
1851         'offset' => 0,\r
1852         'longname' => 'Greenwich Mean Time',\r
1853         'shortname' => 'GMT',\r
1854         'hasdst' => false ),\r
1855     'Africa/Nouakchott' => array(\r
1856         'offset' => 0,\r
1857         'longname' => 'Greenwich Mean Time',\r
1858         'shortname' => 'GMT',\r
1859         'hasdst' => false ),\r
1860     'Africa/Ouagadougou' => array(\r
1861         'offset' => 0,\r
1862         'longname' => 'Greenwich Mean Time',\r
1863         'shortname' => 'GMT',\r
1864         'hasdst' => false ),\r
1865     'Africa/Sao_Tome' => array(\r
1866         'offset' => 0,\r
1867         'longname' => 'Greenwich Mean Time',\r
1868         'shortname' => 'GMT',\r
1869         'hasdst' => false ),\r
1870     'Africa/Timbuktu' => array(\r
1871         'offset' => 0,\r
1872         'longname' => 'Greenwich Mean Time',\r
1873         'shortname' => 'GMT',\r
1874         'hasdst' => false ),\r
1875     'America/Danmarkshavn' => array(\r
1876         'offset' => 0,\r
1877         'longname' => 'Greenwich Mean Time',\r
1878         'shortname' => 'GMT',\r
1879         'hasdst' => false ),\r
1880     'Atlantic/Canary' => array(\r
1881         'offset' => 0,\r
1882         'longname' => 'Western European Time',\r
1883         'shortname' => 'WET',\r
1884         'hasdst' => true,\r
1885         'dstlongname' => 'Western European Summer Time',\r
1886         'dstshortname' => 'WEST' ),\r
1887     'Atlantic/Faeroe' => array(\r
1888         'offset' => 0,\r
1889         'longname' => 'Western European Time',\r
1890         'shortname' => 'WET',\r
1891         'hasdst' => true,\r
1892         'dstlongname' => 'Western European Summer Time',\r
1893         'dstshortname' => 'WEST' ),\r
1894     'Atlantic/Madeira' => array(\r
1895         'offset' => 0,\r
1896         'longname' => 'Western European Time',\r
1897         'shortname' => 'WET',\r
1898         'hasdst' => true,\r
1899         'dstlongname' => 'Western European Summer Time',\r
1900         'dstshortname' => 'WEST' ),\r
1901     'Atlantic/Reykjavik' => array(\r
1902         'offset' => 0,\r
1903         'longname' => 'Greenwich Mean Time',\r
1904         'shortname' => 'GMT',\r
1905         'hasdst' => false ),\r
1906     'Atlantic/St_Helena' => array(\r
1907         'offset' => 0,\r
1908         'longname' => 'Greenwich Mean Time',\r
1909         'shortname' => 'GMT',\r
1910         'hasdst' => false ),\r
1911     'Eire' => array(\r
1912         'offset' => 0,\r
1913         'longname' => 'Greenwich Mean Time',\r
1914         'shortname' => 'GMT',\r
1915         'hasdst' => true,\r
1916         'dstlongname' => 'Irish Summer Time',\r
1917         'dstshortname' => 'IST' ),\r
1918     'Etc/GMT' => array(\r
1919         'offset' => 0,\r
1920         'longname' => 'GMT+00:00',\r
1921         'shortname' => 'GMT+00:00',\r
1922         'hasdst' => false ),\r
1923     'Etc/GMT+0' => array(\r
1924         'offset' => 0,\r
1925         'longname' => 'GMT+00:00',\r
1926         'shortname' => 'GMT+00:00',\r
1927         'hasdst' => false ),\r
1928     'Etc/GMT-0' => array(\r
1929         'offset' => 0,\r
1930         'longname' => 'GMT+00:00',\r
1931         'shortname' => 'GMT+00:00',\r
1932         'hasdst' => false ),\r
1933     'Etc/GMT0' => array(\r
1934         'offset' => 0,\r
1935         'longname' => 'GMT+00:00',\r
1936         'shortname' => 'GMT+00:00',\r
1937         'hasdst' => false ),\r
1938     'Etc/Greenwich' => array(\r
1939         'offset' => 0,\r
1940         'longname' => 'Greenwich Mean Time',\r
1941         'shortname' => 'GMT',\r
1942         'hasdst' => false ),\r
1943     'Etc/UCT' => array(\r
1944         'offset' => 0,\r
1945         'longname' => 'Coordinated Universal Time',\r
1946         'shortname' => 'UTC',\r
1947         'hasdst' => false ),\r
1948     'Etc/UTC' => array(\r
1949         'offset' => 0,\r
1950         'longname' => 'Coordinated Universal Time',\r
1951         'shortname' => 'UTC',\r
1952         'hasdst' => false ),\r
1953     'Etc/Universal' => array(\r
1954         'offset' => 0,\r
1955         'longname' => 'Coordinated Universal Time',\r
1956         'shortname' => 'UTC',\r
1957         'hasdst' => false ),\r
1958     'Etc/Zulu' => array(\r
1959         'offset' => 0,\r
1960         'longname' => 'Coordinated Universal Time',\r
1961         'shortname' => 'UTC',\r
1962         'hasdst' => false ),\r
1963     'Europe/Belfast' => array(\r
1964         'offset' => 0,\r
1965         'longname' => 'Greenwich Mean Time',\r
1966         'shortname' => 'GMT',\r
1967         'hasdst' => true,\r
1968         'dstlongname' => 'British Summer Time',\r
1969         'dstshortname' => 'BST' ),\r
1970     'Europe/Dublin' => array(\r
1971         'offset' => 0,\r
1972         'longname' => 'Greenwich Mean Time',\r
1973         'shortname' => 'GMT',\r
1974         'hasdst' => true,\r
1975         'dstlongname' => 'Irish Summer Time',\r
1976         'dstshortname' => 'IST' ),\r
1977     'Europe/Lisbon' => array(\r
1978         'offset' => 0,\r
1979         'longname' => 'Western European Time',\r
1980         'shortname' => 'WET',\r
1981         'hasdst' => true,\r
1982         'dstlongname' => 'Western European Summer Time',\r
1983         'dstshortname' => 'WEST' ),\r
1984     'Europe/London' => array(\r
1985         'offset' => 0,\r
1986         'longname' => 'Greenwich Mean Time',\r
1987         'shortname' => 'GMT',\r
1988         'hasdst' => true,\r
1989         'dstlongname' => 'British Summer Time',\r
1990         'dstshortname' => 'BST' ),\r
1991     'GB' => array(\r
1992         'offset' => 0,\r
1993         'longname' => 'Greenwich Mean Time',\r
1994         'shortname' => 'GMT',\r
1995         'hasdst' => true,\r
1996         'dstlongname' => 'British Summer Time',\r
1997         'dstshortname' => 'BST' ),\r
1998     'GB-Eire' => array(\r
1999         'offset' => 0,\r
2000         'longname' => 'Greenwich Mean Time',\r
2001         'shortname' => 'GMT',\r
2002         'hasdst' => true,\r
2003         'dstlongname' => 'British Summer Time',\r
2004         'dstshortname' => 'BST' ),\r
2005     'GMT' => array(\r
2006         'offset' => 0,\r
2007         'longname' => 'Greenwich Mean Time',\r
2008         'shortname' => 'GMT',\r
2009         'hasdst' => false ),\r
2010     'GMT0' => array(\r
2011         'offset' => 0,\r
2012         'longname' => 'GMT+00:00',\r
2013         'shortname' => 'GMT+00:00',\r
2014         'hasdst' => false ),\r
2015     'Greenwich' => array(\r
2016         'offset' => 0,\r
2017         'longname' => 'Greenwich Mean Time',\r
2018         'shortname' => 'GMT',\r
2019         'hasdst' => false ),\r
2020     'Iceland' => array(\r
2021         'offset' => 0,\r
2022         'longname' => 'Greenwich Mean Time',\r
2023         'shortname' => 'GMT',\r
2024         'hasdst' => false ),\r
2025     'Portugal' => array(\r
2026         'offset' => 0,\r
2027         'longname' => 'Western European Time',\r
2028         'shortname' => 'WET',\r
2029         'hasdst' => true,\r
2030         'dstlongname' => 'Western European Summer Time',\r
2031         'dstshortname' => 'WEST' ),\r
2032     'UCT' => array(\r
2033         'offset' => 0,\r
2034         'longname' => 'Coordinated Universal Time',\r
2035         'shortname' => 'UTC',\r
2036         'hasdst' => false ),\r
2037     'UTC' => array(\r
2038         'offset' => 0,\r
2039         'longname' => 'Coordinated Universal Time',\r
2040         'shortname' => 'UTC',\r
2041         'hasdst' => false ),\r
2042     'Universal' => array(\r
2043         'offset' => 0,\r
2044         'longname' => 'Coordinated Universal Time',\r
2045         'shortname' => 'UTC',\r
2046         'hasdst' => false ),\r
2047     'WET' => array(\r
2048         'offset' => 0,\r
2049         'longname' => 'Western European Time',\r
2050         'shortname' => 'WET',\r
2051         'hasdst' => true,\r
2052         'dstlongname' => 'Western European Summer Time',\r
2053         'dstshortname' => 'WEST' ),\r
2054     'Zulu' => array(\r
2055         'offset' => 0,\r
2056         'longname' => 'Coordinated Universal Time',\r
2057         'shortname' => 'UTC',\r
2058         'hasdst' => false ),\r
2059     'Africa/Algiers' => array(\r
2060         'offset' => 3600000,\r
2061         'longname' => 'Central European Time',\r
2062         'shortname' => 'CET',\r
2063         'hasdst' => false ),\r
2064     'Africa/Bangui' => array(\r
2065         'offset' => 3600000,\r
2066         'longname' => 'Western African Time',\r
2067         'shortname' => 'WAT',\r
2068         'hasdst' => false ),\r
2069     'Africa/Brazzaville' => array(\r
2070         'offset' => 3600000,\r
2071         'longname' => 'Western African Time',\r
2072         'shortname' => 'WAT',\r
2073         'hasdst' => false ),\r
2074     'Africa/Ceuta' => array(\r
2075         'offset' => 3600000,\r
2076         'longname' => 'Central European Time',\r
2077         'shortname' => 'CET',\r
2078         'hasdst' => true,\r
2079         'dstlongname' => 'Central European Summer Time',\r
2080         'dstshortname' => 'CEST' ),\r
2081     'Africa/Douala' => array(\r
2082         'offset' => 3600000,\r
2083         'longname' => 'Western African Time',\r
2084         'shortname' => 'WAT',\r
2085         'hasdst' => false ),\r
2086     'Africa/Kinshasa' => array(\r
2087         'offset' => 3600000,\r
2088         'longname' => 'Western African Time',\r
2089         'shortname' => 'WAT',\r
2090         'hasdst' => false ),\r
2091     'Africa/Lagos' => array(\r
2092         'offset' => 3600000,\r
2093         'longname' => 'Western African Time',\r
2094         'shortname' => 'WAT',\r
2095         'hasdst' => false ),\r
2096     'Africa/Libreville' => array(\r
2097         'offset' => 3600000,\r
2098         'longname' => 'Western African Time',\r
2099         'shortname' => 'WAT',\r
2100         'hasdst' => false ),\r
2101     'Africa/Luanda' => array(\r
2102         'offset' => 3600000,\r
2103         'longname' => 'Western African Time',\r
2104         'shortname' => 'WAT',\r
2105         'hasdst' => false ),\r
2106     'Africa/Malabo' => array(\r
2107         'offset' => 3600000,\r
2108         'longname' => 'Western African Time',\r
2109         'shortname' => 'WAT',\r
2110         'hasdst' => false ),\r
2111     'Africa/Ndjamena' => array(\r
2112         'offset' => 3600000,\r
2113         'longname' => 'Western African Time',\r
2114         'shortname' => 'WAT',\r
2115         'hasdst' => false ),\r
2116     'Africa/Niamey' => array(\r
2117         'offset' => 3600000,\r
2118         'longname' => 'Western African Time',\r
2119         'shortname' => 'WAT',\r
2120         'hasdst' => false ),\r
2121     'Africa/Porto-Novo' => array(\r
2122         'offset' => 3600000,\r
2123         'longname' => 'Western African Time',\r
2124         'shortname' => 'WAT',\r
2125         'hasdst' => false ),\r
2126     'Africa/Tunis' => array(\r
2127         'offset' => 3600000,\r
2128         'longname' => 'Central European Time',\r
2129         'shortname' => 'CET',\r
2130         'hasdst' => false ),\r
2131     'Africa/Windhoek' => array(\r
2132         'offset' => 3600000,\r
2133         'longname' => 'Western African Time',\r
2134         'shortname' => 'WAT',\r
2135         'hasdst' => true,\r
2136         'dstlongname' => 'Western African Summer Time',\r
2137         'dstshortname' => 'WAST' ),\r
2138     'Arctic/Longyearbyen' => array(\r
2139         'offset' => 3600000,\r
2140         'longname' => 'Central European Time',\r
2141         'shortname' => 'CET',\r
2142         'hasdst' => true,\r
2143         'dstlongname' => 'Central European Summer Time',\r
2144         'dstshortname' => 'CEST' ),\r
2145     'Atlantic/Jan_Mayen' => array(\r
2146         'offset' => 3600000,\r
2147         'longname' => 'Eastern Greenland Time',\r
2148         'shortname' => 'EGT',\r
2149         'hasdst' => true,\r
2150         'dstlongname' => 'Eastern Greenland Summer Time',\r
2151         'dstshortname' => 'EGST' ),\r
2152     'CET' => array(\r
2153         'offset' => 3600000,\r
2154         'longname' => 'Central European Time',\r
2155         'shortname' => 'CET',\r
2156         'hasdst' => true,\r
2157         'dstlongname' => 'Central European Summer Time',\r
2158         'dstshortname' => 'CEST' ),\r
2159     'CEST' => array(\r
2160         'offset' => 3600000,\r
2161         'longname' => "Central European Time",\r
2162         'shortname' => 'CET',\r
2163         'hasdst' => true,\r
2164         'dstlongname' => "Central European Summer Time",\r
2165         'dstshortname' => 'CEST' ),\r
2166     'ECT' => array(\r
2167         'offset' => 3600000,\r
2168         'longname' => 'Central European Time',\r
2169         'shortname' => 'CET',\r
2170         'hasdst' => true,\r
2171         'dstlongname' => 'Central European Summer Time',\r
2172         'dstshortname' => 'CEST' ),\r
2173     'Etc/GMT-1' => array(\r
2174         'offset' => 3600000,\r
2175         'longname' => 'GMT+01:00',\r
2176         'shortname' => 'GMT+01:00',\r
2177         'hasdst' => false ),\r
2178     'Europe/Amsterdam' => array(\r
2179         'offset' => 3600000,\r
2180         'longname' => 'Central European Time',\r
2181         'shortname' => 'CET',\r
2182         'hasdst' => true,\r
2183         'dstlongname' => 'Central European Summer Time',\r
2184         'dstshortname' => 'CEST' ),\r
2185     'Europe/Andorra' => array(\r
2186         'offset' => 3600000,\r
2187         'longname' => 'Central European Time',\r
2188         'shortname' => 'CET',\r
2189         'hasdst' => true,\r
2190         'dstlongname' => 'Central European Summer Time',\r
2191         'dstshortname' => 'CEST' ),\r
2192     'Europe/Belgrade' => array(\r
2193         'offset' => 3600000,\r
2194         'longname' => 'Central European Time',\r
2195         'shortname' => 'CET',\r
2196         'hasdst' => true,\r
2197         'dstlongname' => 'Central European Summer Time',\r
2198         'dstshortname' => 'CEST' ),\r
2199     'Europe/Berlin' => array(\r
2200         'offset' => 3600000,\r
2201         'longname' => 'Central European Time',\r
2202         'shortname' => 'CET',\r
2203         'hasdst' => true,\r
2204         'dstlongname' => 'Central European Summer Time',\r
2205         'dstshortname' => 'CEST' ),\r
2206     'Europe/Bratislava' => array(\r
2207         'offset' => 3600000,\r
2208         'longname' => 'Central European Time',\r
2209         'shortname' => 'CET',\r
2210         'hasdst' => true,\r
2211         'dstlongname' => 'Central European Summer Time',\r
2212         'dstshortname' => 'CEST' ),\r
2213     'Europe/Brussels' => array(\r
2214         'offset' => 3600000,\r
2215         'longname' => 'Central European Time',\r
2216         'shortname' => 'CET',\r
2217         'hasdst' => true,\r
2218         'dstlongname' => 'Central European Summer Time',\r
2219         'dstshortname' => 'CEST' ),\r
2220     'Europe/Budapest' => array(\r
2221         'offset' => 3600000,\r
2222         'longname' => 'Central European Time',\r
2223         'shortname' => 'CET',\r
2224         'hasdst' => true,\r
2225         'dstlongname' => 'Central European Summer Time',\r
2226         'dstshortname' => 'CEST' ),\r
2227     'Europe/Copenhagen' => array(\r
2228         'offset' => 3600000,\r
2229         'longname' => 'Central European Time',\r
2230         'shortname' => 'CET',\r
2231         'hasdst' => true,\r
2232         'dstlongname' => 'Central European Summer Time',\r
2233         'dstshortname' => 'CEST' ),\r
2234     'Europe/Gibraltar' => array(\r
2235         'offset' => 3600000,\r
2236         'longname' => 'Central European Time',\r
2237         'shortname' => 'CET',\r
2238         'hasdst' => true,\r
2239         'dstlongname' => 'Central European Summer Time',\r
2240         'dstshortname' => 'CEST' ),\r
2241     'Europe/Ljubljana' => array(\r
2242         'offset' => 3600000,\r
2243         'longname' => 'Central European Time',\r
2244         'shortname' => 'CET',\r
2245         'hasdst' => true,\r
2246         'dstlongname' => 'Central European Summer Time',\r
2247         'dstshortname' => 'CEST' ),\r
2248     'Europe/Luxembourg' => array(\r
2249         'offset' => 3600000,\r
2250         'longname' => 'Central European Time',\r
2251         'shortname' => 'CET',\r
2252         'hasdst' => true,\r
2253         'dstlongname' => 'Central European Summer Time',\r
2254         'dstshortname' => 'CEST' ),\r
2255     'Europe/Madrid' => array(\r
2256         'offset' => 3600000,\r
2257         'longname' => 'Central European Time',\r
2258         'shortname' => 'CET',\r
2259         'hasdst' => true,\r
2260         'dstlongname' => 'Central European Summer Time',\r
2261         'dstshortname' => 'CEST' ),\r
2262     'Europe/Malta' => array(\r
2263         'offset' => 3600000,\r
2264         'longname' => 'Central European Time',\r
2265         'shortname' => 'CET',\r
2266         'hasdst' => true,\r
2267         'dstlongname' => 'Central European Summer Time',\r
2268         'dstshortname' => 'CEST' ),\r
2269     'Europe/Monaco' => array(\r
2270         'offset' => 3600000,\r
2271         'longname' => 'Central European Time',\r
2272         'shortname' => 'CET',\r
2273         'hasdst' => true,\r
2274         'dstlongname' => 'Central European Summer Time',\r
2275         'dstshortname' => 'CEST' ),\r
2276     'Europe/Oslo' => array(\r
2277         'offset' => 3600000,\r
2278         'longname' => 'Central European Time',\r
2279         'shortname' => 'CET',\r
2280         'hasdst' => true,\r
2281         'dstlongname' => 'Central European Summer Time',\r
2282         'dstshortname' => 'CEST' ),\r
2283     'Europe/Paris' => array(\r
2284         'offset' => 3600000,\r
2285         'longname' => 'Central European Time',\r
2286         'shortname' => 'CET',\r
2287         'hasdst' => true,\r
2288         'dstlongname' => 'Central European Summer Time',\r
2289         'dstshortname' => 'CEST' ),\r
2290     'Europe/Prague' => array(\r
2291         'offset' => 3600000,\r
2292         'longname' => 'Central European Time',\r
2293         'shortname' => 'CET',\r
2294         'hasdst' => true,\r
2295         'dstlongname' => 'Central European Summer Time',\r
2296         'dstshortname' => 'CEST' ),\r
2297     'Europe/Rome' => array(\r
2298         'offset' => 3600000,\r
2299         'longname' => 'Central European Time',\r
2300         'shortname' => 'CET',\r
2301         'hasdst' => true,\r
2302         'dstlongname' => 'Central European Summer Time',\r
2303         'dstshortname' => 'CEST' ),\r
2304     'Europe/San_Marino' => array(\r
2305         'offset' => 3600000,\r
2306         'longname' => 'Central European Time',\r
2307         'shortname' => 'CET',\r
2308         'hasdst' => true,\r
2309         'dstlongname' => 'Central European Summer Time',\r
2310         'dstshortname' => 'CEST' ),\r
2311     'Europe/Sarajevo' => array(\r
2312         'offset' => 3600000,\r
2313         'longname' => 'Central European Time',\r
2314         'shortname' => 'CET',\r
2315         'hasdst' => true,\r
2316         'dstlongname' => 'Central European Summer Time',\r
2317         'dstshortname' => 'CEST' ),\r
2318     'Europe/Skopje' => array(\r
2319         'offset' => 3600000,\r
2320         'longname' => 'Central European Time',\r
2321         'shortname' => 'CET',\r
2322         'hasdst' => true,\r
2323         'dstlongname' => 'Central European Summer Time',\r
2324         'dstshortname' => 'CEST' ),\r
2325     'Europe/Stockholm' => array(\r
2326         'offset' => 3600000,\r
2327         'longname' => 'Central European Time',\r
2328         'shortname' => 'CET',\r
2329         'hasdst' => true,\r
2330         'dstlongname' => 'Central European Summer Time',\r
2331         'dstshortname' => 'CEST' ),\r
2332     'Europe/Tirane' => array(\r
2333         'offset' => 3600000,\r
2334         'longname' => 'Central European Time',\r
2335         'shortname' => 'CET',\r
2336         'hasdst' => true,\r
2337         'dstlongname' => 'Central European Summer Time',\r
2338         'dstshortname' => 'CEST' ),\r
2339     'Europe/Vaduz' => array(\r
2340         'offset' => 3600000,\r
2341         'longname' => 'Central European Time',\r
2342         'shortname' => 'CET',\r
2343         'hasdst' => true,\r
2344         'dstlongname' => 'Central European Summer Time',\r
2345         'dstshortname' => 'CEST' ),\r
2346     'Europe/Vatican' => array(\r
2347         'offset' => 3600000,\r
2348         'longname' => 'Central European Time',\r
2349         'shortname' => 'CET',\r
2350         'hasdst' => true,\r
2351         'dstlongname' => 'Central European Summer Time',\r
2352         'dstshortname' => 'CEST' ),\r
2353     'Europe/Vienna' => array(\r
2354         'offset' => 3600000,\r
2355         'longname' => 'Central European Time',\r
2356         'shortname' => 'CET',\r
2357         'hasdst' => true,\r
2358         'dstlongname' => 'Central European Summer Time',\r
2359         'dstshortname' => 'CEST' ),\r
2360     'Europe/Warsaw' => array(\r
2361         'offset' => 3600000,\r
2362         'longname' => 'Central European Time',\r
2363         'shortname' => 'CET',\r
2364         'hasdst' => true,\r
2365         'dstlongname' => 'Central European Summer Time',\r
2366         'dstshortname' => 'CEST' ),\r
2367     'Europe/Zagreb' => array(\r
2368         'offset' => 3600000,\r
2369         'longname' => 'Central European Time',\r
2370         'shortname' => 'CET',\r
2371         'hasdst' => true,\r
2372         'dstlongname' => 'Central European Summer Time',\r
2373         'dstshortname' => 'CEST' ),\r
2374     'Europe/Zurich' => array(\r
2375         'offset' => 3600000,\r
2376         'longname' => 'Central European Time',\r
2377         'shortname' => 'CET',\r
2378         'hasdst' => true,\r
2379         'dstlongname' => 'Central European Summer Time',\r
2380         'dstshortname' => 'CEST' ),\r
2381     'MET' => array(\r
2382         'offset' => 3600000,\r
2383         'longname' => 'Middle Europe Time',\r
2384         'shortname' => 'MET',\r
2385         'hasdst' => true,\r
2386         'dstlongname' => 'Middle Europe Summer Time',\r
2387         'dstshortname' => 'MEST' ),\r
2388     'Poland' => array(\r
2389         'offset' => 3600000,\r
2390         'longname' => 'Central European Time',\r
2391         'shortname' => 'CET',\r
2392         'hasdst' => true,\r
2393         'dstlongname' => 'Central European Summer Time',\r
2394         'dstshortname' => 'CEST' ),\r
2395     'ART' => array(\r
2396         'offset' => 7200000,\r
2397         'longname' => 'Eastern European Time',\r
2398         'shortname' => 'EET',\r
2399         'hasdst' => true,\r
2400         'dstlongname' => 'Eastern European Summer Time',\r
2401         'dstshortname' => 'EEST' ),\r
2402     'Africa/Blantyre' => array(\r
2403         'offset' => 7200000,\r
2404         'longname' => 'Central African Time',\r
2405         'shortname' => 'CAT',\r
2406         'hasdst' => false ),\r
2407     'Africa/Bujumbura' => array(\r
2408         'offset' => 7200000,\r
2409         'longname' => 'Central African Time',\r
2410         'shortname' => 'CAT',\r
2411         'hasdst' => false ),\r
2412     'Africa/Cairo' => array(\r
2413         'offset' => 7200000,\r
2414         'longname' => 'Eastern European Time',\r
2415         'shortname' => 'EET',\r
2416         'hasdst' => true,\r
2417         'dstlongname' => 'Eastern European Summer Time',\r
2418         'dstshortname' => 'EEST' ),\r
2419     'Africa/Gaborone' => array(\r
2420         'offset' => 7200000,\r
2421         'longname' => 'Central African Time',\r
2422         'shortname' => 'CAT',\r
2423         'hasdst' => false ),\r
2424     'Africa/Harare' => array(\r
2425         'offset' => 7200000,\r
2426         'longname' => 'Central African Time',\r
2427         'shortname' => 'CAT',\r
2428         'hasdst' => false ),\r
2429     'Africa/Johannesburg' => array(\r
2430         'offset' => 7200000,\r
2431         'longname' => 'South Africa Standard Time',\r
2432         'shortname' => 'SAST',\r
2433         'hasdst' => false ),\r
2434     'Africa/Kigali' => array(\r
2435         'offset' => 7200000,\r
2436         'longname' => 'Central African Time',\r
2437         'shortname' => 'CAT',\r
2438         'hasdst' => false ),\r
2439     'Africa/Lubumbashi' => array(\r
2440         'offset' => 7200000,\r
2441         'longname' => 'Central African Time',\r
2442         'shortname' => 'CAT',\r
2443         'hasdst' => false ),\r
2444     'Africa/Lusaka' => array(\r
2445         'offset' => 7200000,\r
2446         'longname' => 'Central African Time',\r
2447         'shortname' => 'CAT',\r
2448         'hasdst' => false ),\r
2449     'Africa/Maputo' => array(\r
2450         'offset' => 7200000,\r
2451         'longname' => 'Central African Time',\r
2452         'shortname' => 'CAT',\r
2453         'hasdst' => false ),\r
2454     'Africa/Maseru' => array(\r
2455         'offset' => 7200000,\r
2456         'longname' => 'South Africa Standard Time',\r
2457         'shortname' => 'SAST',\r
2458         'hasdst' => false ),\r
2459     'Africa/Mbabane' => array(\r
2460         'offset' => 7200000,\r
2461         'longname' => 'South Africa Standard Time',\r
2462         'shortname' => 'SAST',\r
2463         'hasdst' => false ),\r
2464     'Africa/Tripoli' => array(\r
2465         'offset' => 7200000,\r
2466         'longname' => 'Eastern European Time',\r
2467         'shortname' => 'EET',\r
2468         'hasdst' => false ),\r
2469     'Asia/Amman' => array(\r
2470         'offset' => 7200000,\r
2471         'longname' => 'Eastern European Time',\r
2472         'shortname' => 'EET',\r
2473         'hasdst' => true,\r
2474         'dstlongname' => 'Eastern European Summer Time',\r
2475         'dstshortname' => 'EEST' ),\r
2476     'Asia/Beirut' => array(\r
2477         'offset' => 7200000,\r
2478         'longname' => 'Eastern European Time',\r
2479         'shortname' => 'EET',\r
2480         'hasdst' => true,\r
2481         'dstlongname' => 'Eastern European Summer Time',\r
2482         'dstshortname' => 'EEST' ),\r
2483     'Asia/Damascus' => array(\r
2484         'offset' => 7200000,\r
2485         'longname' => 'Eastern European Time',\r
2486         'shortname' => 'EET',\r
2487         'hasdst' => true,\r
2488         'dstlongname' => 'Eastern European Summer Time',\r
2489         'dstshortname' => 'EEST' ),\r
2490     'Asia/Gaza' => array(\r
2491         'offset' => 7200000,\r
2492         'longname' => 'Eastern European Time',\r
2493         'shortname' => 'EET',\r
2494         'hasdst' => true,\r
2495         'dstlongname' => 'Eastern European Summer Time',\r
2496         'dstshortname' => 'EEST' ),\r
2497     'Asia/Istanbul' => array(\r
2498         'offset' => 7200000,\r
2499         'longname' => 'Eastern European Time',\r
2500         'shortname' => 'EET',\r
2501         'hasdst' => true,\r
2502         'dstlongname' => 'Eastern European Summer Time',\r
2503         'dstshortname' => 'EEST' ),\r
2504     'Asia/Jerusalem' => array(\r
2505         'offset' => 7200000,\r
2506         'longname' => 'Israel Standard Time',\r
2507         'shortname' => 'IST',\r
2508         'hasdst' => true,\r
2509         'dstlongname' => 'Israel Daylight Time',\r
2510         'dstshortname' => 'IDT' ),\r
2511     'Asia/Nicosia' => array(\r
2512         'offset' => 7200000,\r
2513         'longname' => 'Eastern European Time',\r
2514         'shortname' => 'EET',\r
2515         'hasdst' => true,\r
2516         'dstlongname' => 'Eastern European Summer Time',\r
2517         'dstshortname' => 'EEST' ),\r
2518     'Asia/Tel_Aviv' => array(\r
2519         'offset' => 7200000,\r
2520         'longname' => 'Israel Standard Time',\r
2521         'shortname' => 'IST',\r
2522         'hasdst' => true,\r
2523         'dstlongname' => 'Israel Daylight Time',\r
2524         'dstshortname' => 'IDT' ),\r
2525     'CAT' => array(\r
2526         'offset' => 7200000,\r
2527         'longname' => 'Central African Time',\r
2528         'shortname' => 'CAT',\r
2529         'hasdst' => false ),\r
2530     'EET' => array(\r
2531         'offset' => 7200000,\r
2532         'longname' => 'Eastern European Time',\r
2533         'shortname' => 'EET',\r
2534         'hasdst' => true,\r
2535         'dstlongname' => 'Eastern European Summer Time',\r
2536         'dstshortname' => 'EEST' ),\r
2537     'Egypt' => array(\r
2538         'offset' => 7200000,\r
2539         'longname' => 'Eastern European Time',\r
2540         'shortname' => 'EET',\r
2541         'hasdst' => true,\r
2542         'dstlongname' => 'Eastern European Summer Time',\r
2543         'dstshortname' => 'EEST' ),\r
2544     'Etc/GMT-2' => array(\r
2545         'offset' => 7200000,\r
2546         'longname' => 'GMT+02:00',\r
2547         'shortname' => 'GMT+02:00',\r
2548         'hasdst' => false ),\r
2549     'Europe/Athens' => array(\r
2550         'offset' => 7200000,\r
2551         'longname' => 'Eastern European Time',\r
2552         'shortname' => 'EET',\r
2553         'hasdst' => true,\r
2554         'dstlongname' => 'Eastern European Summer Time',\r
2555         'dstshortname' => 'EEST' ),\r
2556     'Europe/Bucharest' => array(\r
2557         'offset' => 7200000,\r
2558         'longname' => 'Eastern European Time',\r
2559         'shortname' => 'EET',\r
2560         'hasdst' => true,\r
2561         'dstlongname' => 'Eastern European Summer Time',\r
2562         'dstshortname' => 'EEST' ),\r
2563     'Europe/Chisinau' => array(\r
2564         'offset' => 7200000,\r
2565         'longname' => 'Eastern European Time',\r
2566         'shortname' => 'EET',\r
2567         'hasdst' => true,\r
2568         'dstlongname' => 'Eastern European Summer Time',\r
2569         'dstshortname' => 'EEST' ),\r
2570     'Europe/Helsinki' => array(\r
2571         'offset' => 7200000,\r
2572         'longname' => 'Eastern European Time',\r
2573         'shortname' => 'EET',\r
2574         'hasdst' => true,\r
2575         'dstlongname' => 'Eastern European Summer Time',\r
2576         'dstshortname' => 'EEST' ),\r
2577     'Europe/Istanbul' => array(\r
2578         'offset' => 7200000,\r
2579         'longname' => 'Eastern European Time',\r
2580         'shortname' => 'EET',\r
2581         'hasdst' => true,\r
2582         'dstlongname' => 'Eastern European Summer Time',\r
2583         'dstshortname' => 'EEST' ),\r
2584     'Europe/Kaliningrad' => array(\r
2585         'offset' => 7200000,\r
2586         'longname' => 'Eastern European Time',\r
2587         'shortname' => 'EET',\r
2588         'hasdst' => true,\r
2589         'dstlongname' => 'Eastern European Summer Time',\r
2590         'dstshortname' => 'EEST' ),\r
2591     'Europe/Kiev' => array(\r
2592         'offset' => 7200000,\r
2593         'longname' => 'Eastern European Time',\r
2594         'shortname' => 'EET',\r
2595         'hasdst' => true,\r
2596         'dstlongname' => 'Eastern European Summer Time',\r
2597         'dstshortname' => 'EEST' ),\r
2598     'Europe/Minsk' => array(\r
2599         'offset' => 7200000,\r
2600         'longname' => 'Eastern European Time',\r
2601         'shortname' => 'EET',\r
2602         'hasdst' => true,\r
2603         'dstlongname' => 'Eastern European Summer Time',\r
2604         'dstshortname' => 'EEST' ),\r
2605     'Europe/Nicosia' => array(\r
2606         'offset' => 7200000,\r
2607         'longname' => 'Eastern European Time',\r
2608         'shortname' => 'EET',\r
2609         'hasdst' => true,\r
2610         'dstlongname' => 'Eastern European Summer Time',\r
2611         'dstshortname' => 'EEST' ),\r
2612     'Europe/Riga' => array(\r
2613         'offset' => 7200000,\r
2614         'longname' => 'Eastern European Time',\r
2615         'shortname' => 'EET',\r
2616         'hasdst' => true,\r
2617         'dstlongname' => 'Eastern European Summer Time',\r
2618         'dstshortname' => 'EEST' ),\r
2619     'Europe/Simferopol' => array(\r
2620         'offset' => 7200000,\r
2621         'longname' => 'Eastern European Time',\r
2622         'shortname' => 'EET',\r
2623         'hasdst' => true,\r
2624         'dstlongname' => 'Eastern European Summer Time',\r
2625         'dstshortname' => 'EEST' ),\r
2626     'Europe/Sofia' => array(\r
2627         'offset' => 7200000,\r
2628         'longname' => 'Eastern European Time',\r
2629         'shortname' => 'EET',\r
2630         'hasdst' => true,\r
2631         'dstlongname' => 'Eastern European Summer Time',\r
2632         'dstshortname' => 'EEST' ),\r
2633     'Europe/Tallinn' => array(\r
2634         'offset' => 7200000,\r
2635         'longname' => 'Eastern European Time',\r
2636         'shortname' => 'EET',\r
2637         'hasdst' => false ),\r
2638     'Europe/Tiraspol' => array(\r
2639         'offset' => 7200000,\r
2640         'longname' => 'Eastern European Time',\r
2641         'shortname' => 'EET',\r
2642         'hasdst' => true,\r
2643         'dstlongname' => 'Eastern European Summer Time',\r
2644         'dstshortname' => 'EEST' ),\r
2645     'Europe/Uzhgorod' => array(\r
2646         'offset' => 7200000,\r
2647         'longname' => 'Eastern European Time',\r
2648         'shortname' => 'EET',\r
2649         'hasdst' => true,\r
2650         'dstlongname' => 'Eastern European Summer Time',\r
2651         'dstshortname' => 'EEST' ),\r
2652     'Europe/Vilnius' => array(\r
2653         'offset' => 7200000,\r
2654         'longname' => 'Eastern European Time',\r
2655         'shortname' => 'EET',\r
2656         'hasdst' => false ),\r
2657     'Europe/Zaporozhye' => array(\r
2658         'offset' => 7200000,\r
2659         'longname' => 'Eastern European Time',\r
2660         'shortname' => 'EET',\r
2661         'hasdst' => true,\r
2662         'dstlongname' => 'Eastern European Summer Time',\r
2663         'dstshortname' => 'EEST' ),\r
2664     'Israel' => array(\r
2665         'offset' => 7200000,\r
2666         'longname' => 'Israel Standard Time',\r
2667         'shortname' => 'IST',\r
2668         'hasdst' => true,\r
2669         'dstlongname' => 'Israel Daylight Time',\r
2670         'dstshortname' => 'IDT' ),\r
2671     'Libya' => array(\r
2672         'offset' => 7200000,\r
2673         'longname' => 'Eastern European Time',\r
2674         'shortname' => 'EET',\r
2675         'hasdst' => false ),\r
2676     'Turkey' => array(\r
2677         'offset' => 7200000,\r
2678         'longname' => 'Eastern European Time',\r
2679         'shortname' => 'EET',\r
2680         'hasdst' => true,\r
2681         'dstlongname' => 'Eastern European Summer Time',\r
2682         'dstshortname' => 'EEST' ),\r
2683     'Africa/Addis_Ababa' => array(\r
2684         'offset' => 10800000,\r
2685         'longname' => 'Eastern African Time',\r
2686         'shortname' => 'EAT',\r
2687         'hasdst' => false ),\r
2688     'Africa/Asmera' => array(\r
2689         'offset' => 10800000,\r
2690         'longname' => 'Eastern African Time',\r
2691         'shortname' => 'EAT',\r
2692         'hasdst' => false ),\r
2693     'Africa/Dar_es_Salaam' => array(\r
2694         'offset' => 10800000,\r
2695         'longname' => 'Eastern African Time',\r
2696         'shortname' => 'EAT',\r
2697         'hasdst' => false ),\r
2698     'Africa/Djibouti' => array(\r
2699         'offset' => 10800000,\r
2700         'longname' => 'Eastern African Time',\r
2701         'shortname' => 'EAT',\r
2702         'hasdst' => false ),\r
2703     'Africa/Kampala' => array(\r
2704         'offset' => 10800000,\r
2705         'longname' => 'Eastern African Time',\r
2706         'shortname' => 'EAT',\r
2707         'hasdst' => false ),\r
2708     'Africa/Khartoum' => array(\r
2709         'offset' => 10800000,\r
2710         'longname' => 'Eastern African Time',\r
2711         'shortname' => 'EAT',\r
2712         'hasdst' => false ),\r
2713     'Africa/Mogadishu' => array(\r
2714         'offset' => 10800000,\r
2715         'longname' => 'Eastern African Time',\r
2716         'shortname' => 'EAT',\r
2717         'hasdst' => false ),\r
2718     'Africa/Nairobi' => array(\r
2719         'offset' => 10800000,\r
2720         'longname' => 'Eastern African Time',\r
2721         'shortname' => 'EAT',\r
2722         'hasdst' => false ),\r
2723     'Antarctica/Syowa' => array(\r
2724         'offset' => 10800000,\r
2725         'longname' => 'Syowa Time',\r
2726         'shortname' => 'SYOT',\r
2727         'hasdst' => false ),\r
2728     'Asia/Aden' => array(\r
2729         'offset' => 10800000,\r
2730         'longname' => 'Arabia Standard Time',\r
2731         'shortname' => 'AST',\r
2732         'hasdst' => false ),\r
2733     'Asia/Baghdad' => array(\r
2734         'offset' => 10800000,\r
2735         'longname' => 'Arabia Standard Time',\r
2736         'shortname' => 'AST',\r
2737         'hasdst' => true,\r
2738         'dstlongname' => 'Arabia Daylight Time',\r
2739         'dstshortname' => 'ADT' ),\r
2740     'Asia/Bahrain' => array(\r
2741         'offset' => 10800000,\r
2742         'longname' => 'Arabia Standard Time',\r
2743         'shortname' => 'AST',\r
2744         'hasdst' => false ),\r
2745     'Asia/Kuwait' => array(\r
2746         'offset' => 10800000,\r
2747         'longname' => 'Arabia Standard Time',\r
2748         'shortname' => 'AST',\r
2749         'hasdst' => false ),\r
2750     'Asia/Qatar' => array(\r
2751         'offset' => 10800000,\r
2752         'longname' => 'Arabia Standard Time',\r
2753         'shortname' => 'AST',\r
2754         'hasdst' => false ),\r
2755     'Asia/Riyadh' => array(\r
2756         'offset' => 10800000,\r
2757         'longname' => 'Arabia Standard Time',\r
2758         'shortname' => 'AST',\r
2759         'hasdst' => false ),\r
2760     'EAT' => array(\r
2761         'offset' => 10800000,\r
2762         'longname' => 'Eastern African Time',\r
2763         'shortname' => 'EAT',\r
2764         'hasdst' => false ),\r
2765     'Etc/GMT-3' => array(\r
2766         'offset' => 10800000,\r
2767         'longname' => 'GMT+03:00',\r
2768         'shortname' => 'GMT+03:00',\r
2769         'hasdst' => false ),\r
2770     'Europe/Moscow' => array(\r
2771         'offset' => 10800000,\r
2772         'longname' => 'Moscow Standard Time',\r
2773         'shortname' => 'MSK',\r
2774         'hasdst' => true,\r
2775         'dstlongname' => 'Moscow Daylight Time',\r
2776         'dstshortname' => 'MSD' ),\r
2777     'Indian/Antananarivo' => array(\r
2778         'offset' => 10800000,\r
2779         'longname' => 'Eastern African Time',\r
2780         'shortname' => 'EAT',\r
2781         'hasdst' => false ),\r
2782     'Indian/Comoro' => array(\r
2783         'offset' => 10800000,\r
2784         'longname' => 'Eastern African Time',\r
2785         'shortname' => 'EAT',\r
2786         'hasdst' => false ),\r
2787     'Indian/Mayotte' => array(\r
2788         'offset' => 10800000,\r
2789         'longname' => 'Eastern African Time',\r
2790         'shortname' => 'EAT',\r
2791         'hasdst' => false ),\r
2792     'W-SU' => array(\r
2793         'offset' => 10800000,\r
2794         'longname' => 'Moscow Standard Time',\r
2795         'shortname' => 'MSK',\r
2796         'hasdst' => true,\r
2797         'dstlongname' => 'Moscow Daylight Time',\r
2798         'dstshortname' => 'MSD' ),\r
2799     'Asia/Riyadh87' => array(\r
2800         'offset' => 11224000,\r
2801         'longname' => 'GMT+03:07',\r
2802         'shortname' => 'GMT+03:07',\r
2803         'hasdst' => false ),\r
2804     'Asia/Riyadh88' => array(\r
2805         'offset' => 11224000,\r
2806         'longname' => 'GMT+03:07',\r
2807         'shortname' => 'GMT+03:07',\r
2808         'hasdst' => false ),\r
2809     'Asia/Riyadh89' => array(\r
2810         'offset' => 11224000,\r
2811         'longname' => 'GMT+03:07',\r
2812         'shortname' => 'GMT+03:07',\r
2813         'hasdst' => false ),\r
2814     'Mideast/Riyadh87' => array(\r
2815         'offset' => 11224000,\r
2816         'longname' => 'GMT+03:07',\r
2817         'shortname' => 'GMT+03:07',\r
2818         'hasdst' => false ),\r
2819     'Mideast/Riyadh88' => array(\r
2820         'offset' => 11224000,\r
2821         'longname' => 'GMT+03:07',\r
2822         'shortname' => 'GMT+03:07',\r
2823         'hasdst' => false ),\r
2824     'Mideast/Riyadh89' => array(\r
2825         'offset' => 11224000,\r
2826         'longname' => 'GMT+03:07',\r
2827         'shortname' => 'GMT+03:07',\r
2828         'hasdst' => false ),\r
2829     'Asia/Tehran' => array(\r
2830         'offset' => 12600000,\r
2831         'longname' => 'Iran Time',\r
2832         'shortname' => 'IRT',\r
2833         'hasdst' => true,\r
2834         'dstlongname' => 'Iran Sumer Time',\r
2835         'dstshortname' => 'IRST' ),\r
2836     'Iran' => array(\r
2837         'offset' => 12600000,\r
2838         'longname' => 'Iran Time',\r
2839         'shortname' => 'IRT',\r
2840         'hasdst' => true,\r
2841         'dstlongname' => 'Iran Sumer Time',\r
2842         'dstshortname' => 'IRST' ),\r
2843     'Asia/Aqtau' => array(\r
2844         'offset' => 14400000,\r
2845         'longname' => 'Aqtau Time',\r
2846         'shortname' => 'AQTT',\r
2847         'hasdst' => true,\r
2848         'dstlongname' => 'Aqtau Summer Time',\r
2849         'dstshortname' => 'AQTST' ),\r
2850     'Asia/Baku' => array(\r
2851         'offset' => 14400000,\r
2852         'longname' => 'Azerbaijan Time',\r
2853         'shortname' => 'AZT',\r
2854         'hasdst' => true,\r
2855         'dstlongname' => 'Azerbaijan Summer Time',\r
2856         'dstshortname' => 'AZST' ),\r
2857     'Asia/Dubai' => array(\r
2858         'offset' => 14400000,\r
2859         'longname' => 'Gulf Standard Time',\r
2860         'shortname' => 'GST',\r
2861         'hasdst' => false ),\r
2862     'Asia/Muscat' => array(\r
2863         'offset' => 14400000,\r
2864         'longname' => 'Gulf Standard Time',\r
2865         'shortname' => 'GST',\r
2866         'hasdst' => false ),\r
2867     'Asia/Tbilisi' => array(\r
2868         'offset' => 14400000,\r
2869         'longname' => 'Georgia Time',\r
2870         'shortname' => 'GET',\r
2871         'hasdst' => true,\r
2872         'dstlongname' => 'Georgia Summer Time',\r
2873         'dstshortname' => 'GEST' ),\r
2874     'Asia/Yerevan' => array(\r
2875         'offset' => 14400000,\r
2876         'longname' => 'Armenia Time',\r
2877         'shortname' => 'AMT',\r
2878         'hasdst' => true,\r
2879         'dstlongname' => 'Armenia Summer Time',\r
2880         'dstshortname' => 'AMST' ),\r
2881     'Etc/GMT-4' => array(\r
2882         'offset' => 14400000,\r
2883         'longname' => 'GMT+04:00',\r
2884         'shortname' => 'GMT+04:00',\r
2885         'hasdst' => false ),\r
2886     'Europe/Samara' => array(\r
2887         'offset' => 14400000,\r
2888         'longname' => 'Samara Time',\r
2889         'shortname' => 'SAMT',\r
2890         'hasdst' => true,\r
2891         'dstlongname' => 'Samara Summer Time',\r
2892         'dstshortname' => 'SAMST' ),\r
2893     'Indian/Mahe' => array(\r
2894         'offset' => 14400000,\r
2895         'longname' => 'Seychelles Time',\r
2896         'shortname' => 'SCT',\r
2897         'hasdst' => false ),\r
2898     'Indian/Mauritius' => array(\r
2899         'offset' => 14400000,\r
2900         'longname' => 'Mauritius Time',\r
2901         'shortname' => 'MUT',\r
2902         'hasdst' => false ),\r
2903     'Indian/Reunion' => array(\r
2904         'offset' => 14400000,\r
2905         'longname' => 'Reunion Time',\r
2906         'shortname' => 'RET',\r
2907         'hasdst' => false ),\r
2908     'NET' => array(\r
2909         'offset' => 14400000,\r
2910         'longname' => 'Armenia Time',\r
2911         'shortname' => 'AMT',\r
2912         'hasdst' => true,\r
2913         'dstlongname' => 'Armenia Summer Time',\r
2914         'dstshortname' => 'AMST' ),\r
2915     'Asia/Kabul' => array(\r
2916         'offset' => 16200000,\r
2917         'longname' => 'Afghanistan Time',\r
2918         'shortname' => 'AFT',\r
2919         'hasdst' => false ),\r
2920     'Asia/Aqtobe' => array(\r
2921         'offset' => 18000000,\r
2922         'longname' => 'Aqtobe Time',\r
2923         'shortname' => 'AQTT',\r
2924         'hasdst' => true,\r
2925         'dstlongname' => 'Aqtobe Summer Time',\r
2926         'dstshortname' => 'AQTST' ),\r
2927     'Asia/Ashgabat' => array(\r
2928         'offset' => 18000000,\r
2929         'longname' => 'Turkmenistan Time',\r
2930         'shortname' => 'TMT',\r
2931         'hasdst' => false ),\r
2932     'Asia/Ashkhabad' => array(\r
2933         'offset' => 18000000,\r
2934         'longname' => 'Turkmenistan Time',\r
2935         'shortname' => 'TMT',\r
2936         'hasdst' => false ),\r
2937     'Asia/Bishkek' => array(\r
2938         'offset' => 18000000,\r
2939         'longname' => 'Kirgizstan Time',\r
2940         'shortname' => 'KGT',\r
2941         'hasdst' => true,\r
2942         'dstlongname' => 'Kirgizstan Summer Time',\r
2943         'dstshortname' => 'KGST' ),\r
2944     'Asia/Dushanbe' => array(\r
2945         'offset' => 18000000,\r
2946         'longname' => 'Tajikistan Time',\r
2947         'shortname' => 'TJT',\r
2948         'hasdst' => false ),\r
2949     'Asia/Karachi' => array(\r
2950         'offset' => 18000000,\r
2951         'longname' => 'Pakistan Time',\r
2952         'shortname' => 'PKT',\r
2953         'hasdst' => false ),\r
2954     'Asia/Samarkand' => array(\r
2955         'offset' => 18000000,\r
2956         'longname' => 'Turkmenistan Time',\r
2957         'shortname' => 'TMT',\r
2958         'hasdst' => false ),\r
2959     'Asia/Tashkent' => array(\r
2960         'offset' => 18000000,\r
2961         'longname' => 'Uzbekistan Time',\r
2962         'shortname' => 'UZT',\r
2963         'hasdst' => false ),\r
2964     'Asia/Yekaterinburg' => array(\r
2965         'offset' => 18000000,\r
2966         'longname' => 'Yekaterinburg Time',\r
2967         'shortname' => 'YEKT',\r
2968         'hasdst' => true,\r
2969         'dstlongname' => 'Yekaterinburg Summer Time',\r
2970         'dstshortname' => 'YEKST' ),\r
2971     'Etc/GMT-5' => array(\r
2972         'offset' => 18000000,\r
2973         'longname' => 'GMT+05:00',\r
2974         'shortname' => 'GMT+05:00',\r
2975         'hasdst' => false ),\r
2976     'Indian/Kerguelen' => array(\r
2977         'offset' => 18000000,\r
2978         'longname' => 'French Southern & Antarctic Lands Time',\r
2979         'shortname' => 'TFT',\r
2980         'hasdst' => false ),\r
2981     'Indian/Maldives' => array(\r
2982         'offset' => 18000000,\r
2983         'longname' => 'Maldives Time',\r
2984         'shortname' => 'MVT',\r
2985         'hasdst' => false ),\r
2986     'PLT' => array(\r
2987         'offset' => 18000000,\r
2988         'longname' => 'Pakistan Time',\r
2989         'shortname' => 'PKT',\r
2990         'hasdst' => false ),\r
2991     'Asia/Calcutta' => array(\r
2992         'offset' => 19800000,\r
2993         'longname' => 'India Standard Time',\r
2994         'shortname' => 'IST',\r
2995         'hasdst' => false ),\r
2996     'IST' => array(\r
2997         'offset' => 19800000,\r
2998         'longname' => 'India Standard Time',\r
2999         'shortname' => 'IST',\r
3000         'hasdst' => false ),\r
3001     'Asia/Katmandu' => array(\r
3002         'offset' => 20700000,\r
3003         'longname' => 'Nepal Time',\r
3004         'shortname' => 'NPT',\r
3005         'hasdst' => false ),\r
3006     'Antarctica/Mawson' => array(\r
3007         'offset' => 21600000,\r
3008         'longname' => 'Mawson Time',\r
3009         'shortname' => 'MAWT',\r
3010         'hasdst' => false ),\r
3011     'Antarctica/Vostok' => array(\r
3012         'offset' => 21600000,\r
3013         'longname' => 'Vostok time',\r
3014         'shortname' => 'VOST',\r
3015         'hasdst' => false ),\r
3016     'Asia/Almaty' => array(\r
3017         'offset' => 21600000,\r
3018         'longname' => 'Alma-Ata Time',\r
3019         'shortname' => 'ALMT',\r
3020         'hasdst' => true,\r
3021         'dstlongname' => 'Alma-Ata Summer Time',\r
3022         'dstshortname' => 'ALMST' ),\r
3023     'Asia/Colombo' => array(\r
3024         'offset' => 21600000,\r
3025         'longname' => 'Sri Lanka Time',\r
3026         'shortname' => 'LKT',\r
3027         'hasdst' => false ),\r
3028     'Asia/Dacca' => array(\r
3029         'offset' => 21600000,\r
3030         'longname' => 'Bangladesh Time',\r
3031         'shortname' => 'BDT',\r
3032         'hasdst' => false ),\r
3033     'Asia/Dhaka' => array(\r
3034         'offset' => 21600000,\r
3035         'longname' => 'Bangladesh Time',\r
3036         'shortname' => 'BDT',\r
3037         'hasdst' => false ),\r
3038     'Asia/Novosibirsk' => array(\r
3039         'offset' => 21600000,\r
3040         'longname' => 'Novosibirsk Time',\r
3041         'shortname' => 'NOVT',\r
3042         'hasdst' => true,\r
3043         'dstlongname' => 'Novosibirsk Summer Time',\r
3044         'dstshortname' => 'NOVST' ),\r
3045     'Asia/Omsk' => array(\r
3046         'offset' => 21600000,\r
3047         'longname' => 'Omsk Time',\r
3048         'shortname' => 'OMST',\r
3049         'hasdst' => true,\r
3050         'dstlongname' => 'Omsk Summer Time',\r
3051         'dstshortname' => 'OMSST' ),\r
3052     'Asia/Thimbu' => array(\r
3053         'offset' => 21600000,\r
3054         'longname' => 'Bhutan Time',\r
3055         'shortname' => 'BTT',\r
3056         'hasdst' => false ),\r
3057     'Asia/Thimphu' => array(\r
3058         'offset' => 21600000,\r
3059         'longname' => 'Bhutan Time',\r
3060         'shortname' => 'BTT',\r
3061         'hasdst' => false ),\r
3062     'BDT' => array(\r
3063         'offset' => 21600000,\r
3064         'longname' => 'Bangladesh Time',\r
3065         'shortname' => 'BDT',\r
3066         'hasdst' => false ),\r
3067     'Etc/GMT-6' => array(\r
3068         'offset' => 21600000,\r
3069         'longname' => 'GMT+06:00',\r
3070         'shortname' => 'GMT+06:00',\r
3071         'hasdst' => false ),\r
3072     'Indian/Chagos' => array(\r
3073         'offset' => 21600000,\r
3074         'longname' => 'Indian Ocean Territory Time',\r
3075         'shortname' => 'IOT',\r
3076         'hasdst' => false ),\r
3077     'Asia/Rangoon' => array(\r
3078         'offset' => 23400000,\r
3079         'longname' => 'Myanmar Time',\r
3080         'shortname' => 'MMT',\r
3081         'hasdst' => false ),\r
3082     'Indian/Cocos' => array(\r
3083         'offset' => 23400000,\r
3084         'longname' => 'Cocos Islands Time',\r
3085         'shortname' => 'CCT',\r
3086         'hasdst' => false ),\r
3087     'Antarctica/Davis' => array(\r
3088         'offset' => 25200000,\r
3089         'longname' => 'Davis Time',\r
3090         'shortname' => 'DAVT',\r
3091         'hasdst' => false ),\r
3092     'Asia/Bangkok' => array(\r
3093         'offset' => 25200000,\r
3094         'longname' => 'Indochina Time',\r
3095         'shortname' => 'ICT',\r
3096         'hasdst' => false ),\r
3097     'Asia/Hovd' => array(\r
3098         'offset' => 25200000,\r
3099         'longname' => 'Hovd Time',\r
3100         'shortname' => 'HOVT',\r
3101         'hasdst' => false ),\r
3102     'Asia/Jakarta' => array(\r
3103         'offset' => 25200000,\r
3104         'longname' => 'West Indonesia Time',\r
3105         'shortname' => 'WIT',\r
3106         'hasdst' => false ),\r
3107     'Asia/Krasnoyarsk' => array(\r
3108         'offset' => 25200000,\r
3109         'longname' => 'Krasnoyarsk Time',\r
3110         'shortname' => 'KRAT',\r
3111         'hasdst' => true,\r
3112         'dstlongname' => 'Krasnoyarsk Summer Time',\r
3113         'dstshortname' => 'KRAST' ),\r
3114     'Asia/Phnom_Penh' => array(\r
3115         'offset' => 25200000,\r
3116         'longname' => 'Indochina Time',\r
3117         'shortname' => 'ICT',\r
3118         'hasdst' => false ),\r
3119     'Asia/Pontianak' => array(\r
3120         'offset' => 25200000,\r
3121         'longname' => 'West Indonesia Time',\r
3122         'shortname' => 'WIT',\r
3123         'hasdst' => false ),\r
3124     'Asia/Saigon' => array(\r
3125         'offset' => 25200000,\r
3126         'longname' => 'Indochina Time',\r
3127         'shortname' => 'ICT',\r
3128         'hasdst' => false ),\r
3129     'Asia/Vientiane' => array(\r
3130         'offset' => 25200000,\r
3131         'longname' => 'Indochina Time',\r
3132         'shortname' => 'ICT',\r
3133         'hasdst' => false ),\r
3134     'Etc/GMT-7' => array(\r
3135         'offset' => 25200000,\r
3136         'longname' => 'GMT+07:00',\r
3137         'shortname' => 'GMT+07:00',\r
3138         'hasdst' => false ),\r
3139     'Indian/Christmas' => array(\r
3140         'offset' => 25200000,\r
3141         'longname' => 'Christmas Island Time',\r
3142         'shortname' => 'CXT',\r
3143         'hasdst' => false ),\r
3144     'VST' => array(\r
3145         'offset' => 25200000,\r
3146         'longname' => 'Indochina Time',\r
3147         'shortname' => 'ICT',\r
3148         'hasdst' => false ),\r
3149     'Antarctica/Casey' => array(\r
3150         'offset' => 28800000,\r
3151         'longname' => 'Western Standard Time (Australia)',\r
3152         'shortname' => 'WST',\r
3153         'hasdst' => false ),\r
3154     'Asia/Brunei' => array(\r
3155         'offset' => 28800000,\r
3156         'longname' => 'Brunei Time',\r
3157         'shortname' => 'BNT',\r
3158         'hasdst' => false ),\r
3159     'Asia/Chongqing' => array(\r
3160         'offset' => 28800000,\r
3161         'longname' => 'China Standard Time',\r
3162         'shortname' => 'CST',\r
3163         'hasdst' => false ),\r
3164     'Asia/Chungking' => array(\r
3165         'offset' => 28800000,\r
3166         'longname' => 'China Standard Time',\r
3167         'shortname' => 'CST',\r
3168         'hasdst' => false ),\r
3169     'Asia/Harbin' => array(\r
3170         'offset' => 28800000,\r
3171         'longname' => 'China Standard Time',\r
3172         'shortname' => 'CST',\r
3173         'hasdst' => false ),\r
3174     'Asia/Hong_Kong' => array(\r
3175         'offset' => 28800000,\r
3176         'longname' => 'Hong Kong Time',\r
3177         'shortname' => 'HKT',\r
3178         'hasdst' => false ),\r
3179     'Asia/Irkutsk' => array(\r
3180         'offset' => 28800000,\r
3181         'longname' => 'Irkutsk Time',\r
3182         'shortname' => 'IRKT',\r
3183         'hasdst' => true,\r
3184         'dstlongname' => 'Irkutsk Summer Time',\r
3185         'dstshortname' => 'IRKST' ),\r
3186     'Asia/Kashgar' => array(\r
3187         'offset' => 28800000,\r
3188         'longname' => 'China Standard Time',\r
3189         'shortname' => 'CST',\r
3190         'hasdst' => false ),\r
3191     'Asia/Kuala_Lumpur' => array(\r
3192         'offset' => 28800000,\r
3193         'longname' => 'Malaysia Time',\r
3194         'shortname' => 'MYT',\r
3195         'hasdst' => false ),\r
3196     'Asia/Kuching' => array(\r
3197         'offset' => 28800000,\r
3198         'longname' => 'Malaysia Time',\r
3199         'shortname' => 'MYT',\r
3200         'hasdst' => false ),\r
3201     'Asia/Macao' => array(\r
3202         'offset' => 28800000,\r
3203         'longname' => 'China Standard Time',\r
3204         'shortname' => 'CST',\r
3205         'hasdst' => false ),\r
3206     'Asia/Manila' => array(\r
3207         'offset' => 28800000,\r
3208         'longname' => 'Philippines Time',\r
3209         'shortname' => 'PHT',\r
3210         'hasdst' => false ),\r
3211     'Asia/Shanghai' => array(\r
3212         'offset' => 28800000,\r
3213         'longname' => 'China Standard Time',\r
3214         'shortname' => 'CST',\r
3215         'hasdst' => false ),\r
3216     'Asia/Singapore' => array(\r
3217         'offset' => 28800000,\r
3218         'longname' => 'Singapore Time',\r
3219         'shortname' => 'SGT',\r
3220         'hasdst' => false ),\r
3221     'Asia/Taipei' => array(\r
3222         'offset' => 28800000,\r
3223         'longname' => 'China Standard Time',\r
3224         'shortname' => 'CST',\r
3225         'hasdst' => false ),\r
3226     'Asia/Ujung_Pandang' => array(\r
3227         'offset' => 28800000,\r
3228         'longname' => 'Central Indonesia Time',\r
3229         'shortname' => 'CIT',\r
3230         'hasdst' => false ),\r
3231     'Asia/Ulaanbaatar' => array(\r
3232         'offset' => 28800000,\r
3233         'longname' => 'Ulaanbaatar Time',\r
3234         'shortname' => 'ULAT',\r
3235         'hasdst' => false ),\r
3236     'Asia/Ulan_Bator' => array(\r
3237         'offset' => 28800000,\r
3238         'longname' => 'Ulaanbaatar Time',\r
3239         'shortname' => 'ULAT',\r
3240         'hasdst' => false ),\r
3241     'Asia/Urumqi' => array(\r
3242         'offset' => 28800000,\r
3243         'longname' => 'China Standard Time',\r
3244         'shortname' => 'CST',\r
3245         'hasdst' => false ),\r
3246     'Australia/Perth' => array(\r
3247         'offset' => 28800000,\r
3248         'longname' => 'Western Standard Time (Australia)',\r
3249         'shortname' => 'WST',\r
3250         'hasdst' => false ),\r
3251     'Australia/West' => array(\r
3252         'offset' => 28800000,\r
3253         'longname' => 'Western Standard Time (Australia)',\r
3254         'shortname' => 'WST',\r
3255         'hasdst' => false ),\r
3256     'CTT' => array(\r
3257         'offset' => 28800000,\r
3258         'longname' => 'China Standard Time',\r
3259         'shortname' => 'CST',\r
3260         'hasdst' => false ),\r
3261     'Etc/GMT-8' => array(\r
3262         'offset' => 28800000,\r
3263         'longname' => 'GMT+08:00',\r
3264         'shortname' => 'GMT+08:00',\r
3265         'hasdst' => false ),\r
3266     'Hongkong' => array(\r
3267         'offset' => 28800000,\r
3268         'longname' => 'Hong Kong Time',\r
3269         'shortname' => 'HKT',\r
3270         'hasdst' => false ),\r
3271     'PRC' => array(\r
3272         'offset' => 28800000,\r
3273         'longname' => 'China Standard Time',\r
3274         'shortname' => 'CST',\r
3275         'hasdst' => false ),\r
3276     'Singapore' => array(\r
3277         'offset' => 28800000,\r
3278         'longname' => 'Singapore Time',\r
3279         'shortname' => 'SGT',\r
3280         'hasdst' => false ),\r
3281     'Asia/Choibalsan' => array(\r
3282         'offset' => 32400000,\r
3283         'longname' => 'Choibalsan Time',\r
3284         'shortname' => 'CHOT',\r
3285         'hasdst' => false ),\r
3286     'Asia/Dili' => array(\r
3287         'offset' => 32400000,\r
3288         'longname' => 'East Timor Time',\r
3289         'shortname' => 'TPT',\r
3290         'hasdst' => false ),\r
3291     'Asia/Jayapura' => array(\r
3292         'offset' => 32400000,\r
3293         'longname' => 'East Indonesia Time',\r
3294         'shortname' => 'EIT',\r
3295         'hasdst' => false ),\r
3296     'Asia/Pyongyang' => array(\r
3297         'offset' => 32400000,\r
3298         'longname' => 'Korea Standard Time',\r
3299         'shortname' => 'KST',\r
3300         'hasdst' => false ),\r
3301     'Asia/Seoul' => array(\r
3302         'offset' => 32400000,\r
3303         'longname' => 'Korea Standard Time',\r
3304         'shortname' => 'KST',\r
3305         'hasdst' => false ),\r
3306     'Asia/Tokyo' => array(\r
3307         'offset' => 32400000,\r
3308         'longname' => 'Japan Standard Time',\r
3309         'shortname' => 'JST',\r
3310         'hasdst' => false ),\r
3311     'Asia/Yakutsk' => array(\r
3312         'offset' => 32400000,\r
3313         'longname' => 'Yakutsk Time',\r
3314         'shortname' => 'YAKT',\r
3315         'hasdst' => true,\r
3316         'dstlongname' => 'Yaktsk Summer Time',\r
3317         'dstshortname' => 'YAKST' ),\r
3318     'Etc/GMT-9' => array(\r
3319         'offset' => 32400000,\r
3320         'longname' => 'GMT+09:00',\r
3321         'shortname' => 'GMT+09:00',\r
3322         'hasdst' => false ),\r
3323     'JST' => array(\r
3324         'offset' => 32400000,\r
3325         'longname' => 'Japan Standard Time',\r
3326         'shortname' => 'JST',\r
3327         'hasdst' => false ),\r
3328     'Japan' => array(\r
3329         'offset' => 32400000,\r
3330         'longname' => 'Japan Standard Time',\r
3331         'shortname' => 'JST',\r
3332         'hasdst' => false ),\r
3333     'Pacific/Palau' => array(\r
3334         'offset' => 32400000,\r
3335         'longname' => 'Palau Time',\r
3336         'shortname' => 'PWT',\r
3337         'hasdst' => false ),\r
3338     'ROK' => array(\r
3339         'offset' => 32400000,\r
3340         'longname' => 'Korea Standard Time',\r
3341         'shortname' => 'KST',\r
3342         'hasdst' => false ),\r
3343     'ACT' => array(\r
3344         'offset' => 34200000,\r
3345         'longname' => 'Central Standard Time (Northern Territory)',\r
3346         'shortname' => 'CST',\r
3347         'hasdst' => false ),\r
3348     'Australia/Adelaide' => array(\r
3349         'offset' => 34200000,\r
3350         'longname' => 'Central Standard Time (South Australia)',\r
3351         'shortname' => 'CST',\r
3352         'hasdst' => true,\r
3353         'dstlongname' => 'Central Summer Time (South Australia)',\r
3354         'dstshortname' => 'CST' ),\r
3355     'Australia/Broken_Hill' => array(\r
3356         'offset' => 34200000,\r
3357         'longname' => 'Central Standard Time (South Australia/New South Wales)',\r
3358         'shortname' => 'CST',\r
3359         'hasdst' => true,\r
3360         'dstlongname' => 'Central Summer Time (South Australia/New South Wales)',\r
3361         'dstshortname' => 'CST' ),\r
3362     'Australia/Darwin' => array(\r
3363         'offset' => 34200000,\r
3364         'longname' => 'Central Standard Time (Northern Territory)',\r
3365         'shortname' => 'CST',\r
3366         'hasdst' => false ),\r
3367     'Australia/North' => array(\r
3368         'offset' => 34200000,\r
3369         'longname' => 'Central Standard Time (Northern Territory)',\r
3370         'shortname' => 'CST',\r
3371         'hasdst' => false ),\r
3372     'Australia/South' => array(\r
3373         'offset' => 34200000,\r
3374         'longname' => 'Central Standard Time (South Australia)',\r
3375         'shortname' => 'CST',\r
3376         'hasdst' => true,\r
3377         'dstlongname' => 'Central Summer Time (South Australia)',\r
3378         'dstshortname' => 'CST' ),\r
3379     'Australia/Yancowinna' => array(\r
3380         'offset' => 34200000,\r
3381         'longname' => 'Central Standard Time (South Australia/New South Wales)',\r
3382         'shortname' => 'CST',\r
3383         'hasdst' => true,\r
3384         'dstlongname' => 'Central Summer Time (South Australia/New South Wales)',\r
3385         'dstshortname' => 'CST' ),\r
3386     'AET' => array(\r
3387         'offset' => 36000000,\r
3388         'longname' => 'Eastern Standard Time (New South Wales)',\r
3389         'shortname' => 'EST',\r
3390         'hasdst' => true,\r
3391         'dstlongname' => 'Eastern Summer Time (New South Wales)',\r
3392         'dstshortname' => 'EST' ),\r
3393     'Antarctica/DumontDUrville' => array(\r
3394         'offset' => 36000000,\r
3395         'longname' => 'Dumont-d\'Urville Time',\r
3396         'shortname' => 'DDUT',\r
3397         'hasdst' => false ),\r
3398     'Asia/Sakhalin' => array(\r
3399         'offset' => 36000000,\r
3400         'longname' => 'Sakhalin Time',\r
3401         'shortname' => 'SAKT',\r
3402         'hasdst' => true,\r
3403         'dstlongname' => 'Sakhalin Summer Time',\r
3404         'dstshortname' => 'SAKST' ),\r
3405     'Asia/Vladivostok' => array(\r
3406         'offset' => 36000000,\r
3407         'longname' => 'Vladivostok Time',\r
3408         'shortname' => 'VLAT',\r
3409         'hasdst' => true,\r
3410         'dstlongname' => 'Vladivostok Summer Time',\r
3411         'dstshortname' => 'VLAST' ),\r
3412     'Australia/ACT' => array(\r
3413         'offset' => 36000000,\r
3414         'longname' => 'Eastern Standard Time (New South Wales)',\r
3415         'shortname' => 'EST',\r
3416         'hasdst' => true,\r
3417         'dstlongname' => 'Eastern Summer Time (New South Wales)',\r
3418         'dstshortname' => 'EST' ),\r
3419     'Australia/Brisbane' => array(\r
3420         'offset' => 36000000,\r
3421         'longname' => 'Eastern Standard Time (Queensland)',\r
3422         'shortname' => 'EST',\r
3423         'hasdst' => false ),\r
3424     'Australia/Canberra' => array(\r
3425         'offset' => 36000000,\r
3426         'longname' => 'Eastern Standard Time (New South Wales)',\r
3427         'shortname' => 'EST',\r
3428         'hasdst' => true,\r
3429         'dstlongname' => 'Eastern Summer Time (New South Wales)',\r
3430         'dstshortname' => 'EST' ),\r
3431     'Australia/Hobart' => array(\r
3432         'offset' => 36000000,\r
3433         'longname' => 'Eastern Standard Time (Tasmania)',\r
3434         'shortname' => 'EST',\r
3435         'hasdst' => true,\r
3436         'dstlongname' => 'Eastern Summer Time (Tasmania)',\r
3437         'dstshortname' => 'EST' ),\r
3438     'Australia/Lindeman' => array(\r
3439         'offset' => 36000000,\r
3440         'longname' => 'Eastern Standard Time (Queensland)',\r
3441         'shortname' => 'EST',\r
3442         'hasdst' => false ),\r
3443     'Australia/Melbourne' => array(\r
3444         'offset' => 36000000,\r
3445         'longname' => 'Eastern Standard Time (Victoria)',\r
3446         'shortname' => 'EST',\r
3447         'hasdst' => true,\r
3448         'dstlongname' => 'Eastern Summer Time (Victoria)',\r
3449         'dstshortname' => 'EST' ),\r
3450     'Australia/NSW' => array(\r
3451         'offset' => 36000000,\r
3452         'longname' => 'Eastern Standard Time (New South Wales)',\r
3453         'shortname' => 'EST',\r
3454         'hasdst' => true,\r
3455         'dstlongname' => 'Eastern Summer Time (New South Wales)',\r
3456         'dstshortname' => 'EST' ),\r
3457     'Australia/Queensland' => array(\r
3458         'offset' => 36000000,\r
3459         'longname' => 'Eastern Standard Time (Queensland)',\r
3460         'shortname' => 'EST',\r
3461         'hasdst' => false ),\r
3462     'Australia/Sydney' => array(\r
3463         'offset' => 36000000,\r
3464         'longname' => 'Eastern Standard Time (New South Wales)',\r
3465         'shortname' => 'EST',\r
3466         'hasdst' => true,\r
3467         'dstlongname' => 'Eastern Summer Time (New South Wales)',\r
3468         'dstshortname' => 'EST' ),\r
3469     'Australia/Tasmania' => array(\r
3470         'offset' => 36000000,\r
3471         'longname' => 'Eastern Standard Time (Tasmania)',\r
3472         'shortname' => 'EST',\r
3473         'hasdst' => true,\r
3474         'dstlongname' => 'Eastern Summer Time (Tasmania)',\r
3475         'dstshortname' => 'EST' ),\r
3476     'Australia/Victoria' => array(\r
3477         'offset' => 36000000,\r
3478         'longname' => 'Eastern Standard Time (Victoria)',\r
3479         'shortname' => 'EST',\r
3480         'hasdst' => true,\r
3481         'dstlongname' => 'Eastern Summer Time (Victoria)',\r
3482         'dstshortname' => 'EST' ),\r
3483     'Etc/GMT-10' => array(\r
3484         'offset' => 36000000,\r
3485         'longname' => 'GMT+10:00',\r
3486         'shortname' => 'GMT+10:00',\r
3487         'hasdst' => false ),\r
3488     'Pacific/Guam' => array(\r
3489         'offset' => 36000000,\r
3490         'longname' => 'Chamorro Standard Time',\r
3491         'shortname' => 'ChST',\r
3492         'hasdst' => false ),\r
3493     'Pacific/Port_Moresby' => array(\r
3494         'offset' => 36000000,\r
3495         'longname' => 'Papua New Guinea Time',\r
3496         'shortname' => 'PGT',\r
3497         'hasdst' => false ),\r
3498     'Pacific/Saipan' => array(\r
3499         'offset' => 36000000,\r
3500         'longname' => 'Chamorro Standard Time',\r
3501         'shortname' => 'ChST',\r
3502         'hasdst' => false ),\r
3503     'Pacific/Truk' => array(\r
3504         'offset' => 36000000,\r
3505         'longname' => 'Truk Time',\r
3506         'shortname' => 'TRUT',\r
3507         'hasdst' => false ),\r
3508     'Pacific/Yap' => array(\r
3509         'offset' => 36000000,\r
3510         'longname' => 'Yap Time',\r
3511         'shortname' => 'YAPT',\r
3512         'hasdst' => false ),\r
3513     'Australia/LHI' => array(\r
3514         'offset' => 37800000,\r
3515         'longname' => 'Load Howe Standard Time',\r
3516         'shortname' => 'LHST',\r
3517         'hasdst' => true,\r
3518         'dstlongname' => 'Load Howe Summer Time',\r
3519         'dstshortname' => 'LHST' ),\r
3520     'Australia/Lord_Howe' => array(\r
3521         'offset' => 37800000,\r
3522         'longname' => 'Load Howe Standard Time',\r
3523         'shortname' => 'LHST',\r
3524         'hasdst' => true,\r
3525         'dstlongname' => 'Load Howe Summer Time',\r
3526         'dstshortname' => 'LHST' ),\r
3527     'Asia/Magadan' => array(\r
3528         'offset' => 39600000,\r
3529         'longname' => 'Magadan Time',\r
3530         'shortname' => 'MAGT',\r
3531         'hasdst' => true,\r
3532         'dstlongname' => 'Magadan Summer Time',\r
3533         'dstshortname' => 'MAGST' ),\r
3534     'Etc/GMT-11' => array(\r
3535         'offset' => 39600000,\r
3536         'longname' => 'GMT+11:00',\r
3537         'shortname' => 'GMT+11:00',\r
3538         'hasdst' => false ),\r
3539     'Pacific/Efate' => array(\r
3540         'offset' => 39600000,\r
3541         'longname' => 'Vanuatu Time',\r
3542         'shortname' => 'VUT',\r
3543         'hasdst' => false ),\r
3544     'Pacific/Guadalcanal' => array(\r
3545         'offset' => 39600000,\r
3546         'longname' => 'Solomon Is. Time',\r
3547         'shortname' => 'SBT',\r
3548         'hasdst' => false ),\r
3549     'Pacific/Kosrae' => array(\r
3550         'offset' => 39600000,\r
3551         'longname' => 'Kosrae Time',\r
3552         'shortname' => 'KOST',\r
3553         'hasdst' => false ),\r
3554     'Pacific/Noumea' => array(\r
3555         'offset' => 39600000,\r
3556         'longname' => 'New Caledonia Time',\r
3557         'shortname' => 'NCT',\r
3558         'hasdst' => false ),\r
3559     'Pacific/Ponape' => array(\r
3560         'offset' => 39600000,\r
3561         'longname' => 'Ponape Time',\r
3562         'shortname' => 'PONT',\r
3563         'hasdst' => false ),\r
3564     'SST' => array(\r
3565         'offset' => 39600000,\r
3566         'longname' => 'Solomon Is. Time',\r
3567         'shortname' => 'SBT',\r
3568         'hasdst' => false ),\r
3569     'Pacific/Norfolk' => array(\r
3570         'offset' => 41400000,\r
3571         'longname' => 'Norfolk Time',\r
3572         'shortname' => 'NFT',\r
3573         'hasdst' => false ),\r
3574     'Antarctica/McMurdo' => array(\r
3575         'offset' => 43200000,\r
3576         'longname' => 'New Zealand Standard Time',\r
3577         'shortname' => 'NZST',\r
3578         'hasdst' => true,\r
3579         'dstlongname' => 'New Zealand Daylight Time',\r
3580         'dstshortname' => 'NZDT' ),\r
3581     'Antarctica/South_Pole' => array(\r
3582         'offset' => 43200000,\r
3583         'longname' => 'New Zealand Standard Time',\r
3584         'shortname' => 'NZST',\r
3585         'hasdst' => true,\r
3586         'dstlongname' => 'New Zealand Daylight Time',\r
3587         'dstshortname' => 'NZDT' ),\r
3588     'Asia/Anadyr' => array(\r
3589         'offset' => 43200000,\r
3590         'longname' => 'Anadyr Time',\r
3591         'shortname' => 'ANAT',\r
3592         'hasdst' => true,\r
3593         'dstlongname' => 'Anadyr Summer Time',\r
3594         'dstshortname' => 'ANAST' ),\r
3595     'Asia/Kamchatka' => array(\r
3596         'offset' => 43200000,\r
3597         'longname' => 'Petropavlovsk-Kamchatski Time',\r
3598         'shortname' => 'PETT',\r
3599         'hasdst' => true,\r
3600         'dstlongname' => 'Petropavlovsk-Kamchatski Summer Time',\r
3601         'dstshortname' => 'PETST' ),\r
3602     'Etc/GMT-12' => array(\r
3603         'offset' => 43200000,\r
3604         'longname' => 'GMT+12:00',\r
3605         'shortname' => 'GMT+12:00',\r
3606         'hasdst' => false ),\r
3607     'Kwajalein' => array(\r
3608         'offset' => 43200000,\r
3609         'longname' => 'Marshall Islands Time',\r
3610         'shortname' => 'MHT',\r
3611         'hasdst' => false ),\r
3612     'NST' => array(\r
3613         'offset' => 43200000,\r
3614         'longname' => 'New Zealand Standard Time',\r
3615         'shortname' => 'NZST',\r
3616         'hasdst' => true,\r
3617         'dstlongname' => 'New Zealand Daylight Time',\r
3618         'dstshortname' => 'NZDT' ),\r
3619     'NZ' => array(\r
3620         'offset' => 43200000,\r
3621         'longname' => 'New Zealand Standard Time',\r
3622         'shortname' => 'NZST',\r
3623         'hasdst' => true,\r
3624         'dstlongname' => 'New Zealand Daylight Time',\r
3625         'dstshortname' => 'NZDT' ),\r
3626     'Pacific/Auckland' => array(\r
3627         'offset' => 43200000,\r
3628         'longname' => 'New Zealand Standard Time',\r
3629         'shortname' => 'NZST',\r
3630         'hasdst' => true,\r
3631         'dstlongname' => 'New Zealand Daylight Time',\r
3632         'dstshortname' => 'NZDT' ),\r
3633     'Pacific/Fiji' => array(\r
3634         'offset' => 43200000,\r
3635         'longname' => 'Fiji Time',\r
3636         'shortname' => 'FJT',\r
3637         'hasdst' => false ),\r
3638     'Pacific/Funafuti' => array(\r
3639         'offset' => 43200000,\r
3640         'longname' => 'Tuvalu Time',\r
3641         'shortname' => 'TVT',\r
3642         'hasdst' => false ),\r
3643     'Pacific/Kwajalein' => array(\r
3644         'offset' => 43200000,\r
3645         'longname' => 'Marshall Islands Time',\r
3646         'shortname' => 'MHT',\r
3647         'hasdst' => false ),\r
3648     'Pacific/Majuro' => array(\r
3649         'offset' => 43200000,\r
3650         'longname' => 'Marshall Islands Time',\r
3651         'shortname' => 'MHT',\r
3652         'hasdst' => false ),\r
3653     'Pacific/Nauru' => array(\r
3654         'offset' => 43200000,\r
3655         'longname' => 'Nauru Time',\r
3656         'shortname' => 'NRT',\r
3657         'hasdst' => false ),\r
3658     'Pacific/Tarawa' => array(\r
3659         'offset' => 43200000,\r
3660         'longname' => 'Gilbert Is. Time',\r
3661         'shortname' => 'GILT',\r
3662         'hasdst' => false ),\r
3663     'Pacific/Wake' => array(\r
3664         'offset' => 43200000,\r
3665         'longname' => 'Wake Time',\r
3666         'shortname' => 'WAKT',\r
3667         'hasdst' => false ),\r
3668     'Pacific/Wallis' => array(\r
3669         'offset' => 43200000,\r
3670         'longname' => 'Wallis & Futuna Time',\r
3671         'shortname' => 'WFT',\r
3672         'hasdst' => false ),\r
3673     'NZ-CHAT' => array(\r
3674         'offset' => 45900000,\r
3675         'longname' => 'Chatham Standard Time',\r
3676         'shortname' => 'CHAST',\r
3677         'hasdst' => true,\r
3678         'dstlongname' => 'Chatham Daylight Time',\r
3679         'dstshortname' => 'CHADT' ),\r
3680     'Pacific/Chatham' => array(\r
3681         'offset' => 45900000,\r
3682         'longname' => 'Chatham Standard Time',\r
3683         'shortname' => 'CHAST',\r
3684         'hasdst' => true,\r
3685         'dstlongname' => 'Chatham Daylight Time',\r
3686         'dstshortname' => 'CHADT' ),\r
3687     'Etc/GMT-13' => array(\r
3688         'offset' => 46800000,\r
3689         'longname' => 'GMT+13:00',\r
3690         'shortname' => 'GMT+13:00',\r
3691         'hasdst' => false ),\r
3692     'Pacific/Enderbury' => array(\r
3693         'offset' => 46800000,\r
3694         'longname' => 'Phoenix Is. Time',\r
3695         'shortname' => 'PHOT',\r
3696         'hasdst' => false ),\r
3697     'Pacific/Tongatapu' => array(\r
3698         'offset' => 46800000,\r
3699         'longname' => 'Tonga Time',\r
3700         'shortname' => 'TOT',\r
3701         'hasdst' => false ),\r
3702     'Etc/GMT-14' => array(\r
3703         'offset' => 50400000,\r
3704         'longname' => 'GMT+14:00',\r
3705         'shortname' => 'GMT+14:00',\r
3706         'hasdst' => false ),\r
3707     'Pacific/Kiritimati' => array(\r
3708         'offset' => 50400000,\r
3709         'longname' => 'Line Is. Time',\r
3710         'shortname' => 'LINT',\r
3711         'hasdst' => false ),\r
3712     'GMT-12:00' => array(\r
3713         'offset' => -43200000,\r
3714         'longname' => 'GMT-12:00',\r
3715         'shortname' => 'GMT-12:00',\r
3716         'hasdst' => false ),\r
3717     'GMT-11:00' => array(\r
3718         'offset' => -39600000,\r
3719         'longname' => 'GMT-11:00',\r
3720         'shortname' => 'GMT-11:00',\r
3721         'hasdst' => false ),\r
3722     'West Samoa Time' => array(\r
3723         'offset' => -39600000,\r
3724         'longname' => 'West Samoa Time',\r
3725         'shortname' => 'WST',\r
3726         'hasdst' => false ),\r
3727     'Samoa Standard Time' => array(\r
3728         'offset' => -39600000,\r
3729         'longname' => 'Samoa Standard Time',\r
3730         'shortname' => 'SST',\r
3731         'hasdst' => false ),\r
3732     'Niue Time' => array(\r
3733         'offset' => -39600000,\r
3734         'longname' => 'Niue Time',\r
3735         'shortname' => 'NUT',\r
3736         'hasdst' => false ),\r
3737     'Hawaii-Aleutian Standard Time' => array(\r
3738         'offset' => -36000000,\r
3739         'longname' => 'Hawaii-Aleutian Standard Time',\r
3740         'shortname' => 'HAST',\r
3741         'hasdst' => true,\r
3742         'dstlongname' => 'Hawaii-Aleutian Daylight Time',\r
3743         'dstshortname' => 'HADT' ),\r
3744     'GMT-10:00' => array(\r
3745         'offset' => -36000000,\r
3746         'longname' => 'GMT-10:00',\r
3747         'shortname' => 'GMT-10:00',\r
3748         'hasdst' => false ),\r
3749     'Hawaii Standard Time' => array(\r
3750         'offset' => -36000000,\r
3751         'longname' => 'Hawaii Standard Time',\r
3752         'shortname' => 'HST',\r
3753         'hasdst' => false ),\r
3754     'Tokelau Time' => array(\r
3755         'offset' => -36000000,\r
3756         'longname' => 'Tokelau Time',\r
3757         'shortname' => 'TKT',\r
3758         'hasdst' => false ),\r
3759     'Cook Is. Time' => array(\r
3760         'offset' => -36000000,\r
3761         'longname' => 'Cook Is. Time',\r
3762         'shortname' => 'CKT',\r
3763         'hasdst' => false ),\r
3764     'Tahiti Time' => array(\r
3765         'offset' => -36000000,\r
3766         'longname' => 'Tahiti Time',\r
3767         'shortname' => 'TAHT',\r
3768         'hasdst' => false ),\r
3769     'Marquesas Time' => array(\r
3770         'offset' => -34200000,\r
3771         'longname' => 'Marquesas Time',\r
3772         'shortname' => 'MART',\r
3773         'hasdst' => false ),\r
3774     'Alaska Standard Time' => array(\r
3775         'offset' => -32400000,\r
3776         'longname' => 'Alaska Standard Time',\r
3777         'shortname' => 'AKST',\r
3778         'hasdst' => true,\r
3779         'dstlongname' => 'Alaska Daylight Time',\r
3780         'dstshortname' => 'AKDT' ),\r
3781     'GMT-09:00' => array(\r
3782         'offset' => -32400000,\r
3783         'longname' => 'GMT-09:00',\r
3784         'shortname' => 'GMT-09:00',\r
3785         'hasdst' => false ),\r
3786     'Gambier Time' => array(\r
3787         'offset' => -32400000,\r
3788         'longname' => 'Gambier Time',\r
3789         'shortname' => 'GAMT',\r
3790         'hasdst' => false ),\r
3791     'Pacific Standard Time' => array(\r
3792         'offset' => -28800000,\r
3793         'longname' => 'Pacific Standard Time',\r
3794         'shortname' => 'PST',\r
3795         'hasdst' => true,\r
3796         'dstlongname' => 'Pacific Daylight Time',\r
3797         'dstshortname' => 'PDT' ),\r
3798     'GMT-08:00' => array(\r
3799         'offset' => -28800000,\r
3800         'longname' => 'GMT-08:00',\r
3801         'shortname' => 'GMT-08:00',\r
3802         'hasdst' => false ),\r
3803     'Pitcairn Standard Time' => array(\r
3804         'offset' => -28800000,\r
3805         'longname' => 'Pitcairn Standard Time',\r
3806         'shortname' => 'PST',\r
3807         'hasdst' => false ),\r
3808     'Mountain Standard Time' => array(\r
3809         'offset' => -25200000,\r
3810         'longname' => 'Mountain Standard Time',\r
3811         'shortname' => 'MST',\r
3812         'hasdst' => true,\r
3813         'dstlongname' => 'Mountain Daylight Time',\r
3814         'dstshortname' => 'MDT' ),\r
3815     'GMT-07:00' => array(\r
3816         'offset' => -25200000,\r
3817         'longname' => 'GMT-07:00',\r
3818         'shortname' => 'GMT-07:00',\r
3819         'hasdst' => false ),\r
3820     'Central Standard Time' => array(\r
3821         'offset' => -18000000,\r
3822         'longname' => 'Central Standard Time',\r
3823         'shortname' => 'CST',\r
3824         'hasdst' => true,\r
3825         'dstlongname' => 'Central Daylight Time',\r
3826         'dstshortname' => 'CDT' ),\r
3827     'Eastern Standard Time' => array(\r
3828         'offset' => -18000000,\r
3829         'longname' => 'Eastern Standard Time',\r
3830         'shortname' => 'EST',\r
3831         'hasdst' => true,\r
3832         'dstlongname' => 'Eastern Daylight Time',\r
3833         'dstshortname' => 'EDT' ),\r
3834     'Easter Is. Time' => array(\r
3835         'offset' => -21600000,\r
3836         'longname' => 'Easter Is. Time',\r
3837         'shortname' => 'EAST',\r
3838         'hasdst' => true,\r
3839         'dstlongname' => 'Easter Is. Summer Time',\r
3840         'dstshortname' => 'EASST' ),\r
3841     'GMT-06:00' => array(\r
3842         'offset' => -21600000,\r
3843         'longname' => 'GMT-06:00',\r
3844         'shortname' => 'GMT-06:00',\r
3845         'hasdst' => false ),\r
3846     'Galapagos Time' => array(\r
3847         'offset' => -21600000,\r
3848         'longname' => 'Galapagos Time',\r
3849         'shortname' => 'GALT',\r
3850         'hasdst' => false ),\r
3851     'Colombia Time' => array(\r
3852         'offset' => -18000000,\r
3853         'longname' => 'Colombia Time',\r
3854         'shortname' => 'COT',\r
3855         'hasdst' => false ),\r
3856     'Acre Time' => array(\r
3857         'offset' => -18000000,\r
3858         'longname' => 'Acre Time',\r
3859         'shortname' => 'ACT',\r
3860         'hasdst' => false ),\r
3861     'Ecuador Time' => array(\r
3862         'offset' => -18000000,\r
3863         'longname' => 'Ecuador Time',\r
3864         'shortname' => 'ECT',\r
3865         'hasdst' => false ),\r
3866     'Peru Time' => array(\r
3867         'offset' => -18000000,\r
3868         'longname' => 'Peru Time',\r
3869         'shortname' => 'PET',\r
3870         'hasdst' => false ),\r
3871     'GMT-05:00' => array(\r
3872         'offset' => -18000000,\r
3873         'longname' => 'GMT-05:00',\r
3874         'shortname' => 'GMT-05:00',\r
3875         'hasdst' => false ),\r
3876     'Atlantic Standard Time' => array(\r
3877         'offset' => -14400000,\r
3878         'longname' => 'Atlantic Standard Time',\r
3879         'shortname' => 'AST',\r
3880         'hasdst' => true,\r
3881         'dstlongname' => 'Atlantic Daylight Time',\r
3882         'dstshortname' => 'ADT' ),\r
3883     'Paraguay Time' => array(\r
3884         'offset' => -14400000,\r
3885         'longname' => 'Paraguay Time',\r
3886         'shortname' => 'PYT',\r
3887         'hasdst' => true,\r
3888         'dstlongname' => 'Paraguay Summer Time',\r
3889         'dstshortname' => 'PYST' ),\r
3890     'Amazon Standard Time' => array(\r
3891         'offset' => -14400000,\r
3892         'longname' => 'Amazon Standard Time',\r
3893         'shortname' => 'AMT',\r
3894         'hasdst' => false ),\r
3895     'Venezuela Time' => array(\r
3896         'offset' => -14400000,\r
3897         'longname' => 'Venezuela Time',\r
3898         'shortname' => 'VET',\r
3899         'hasdst' => false ),\r
3900     'Guyana Time' => array(\r
3901         'offset' => -14400000,\r
3902         'longname' => 'Guyana Time',\r
3903         'shortname' => 'GYT',\r
3904         'hasdst' => false ),\r
3905     'Bolivia Time' => array(\r
3906         'offset' => -14400000,\r
3907         'longname' => 'Bolivia Time',\r
3908         'shortname' => 'BOT',\r
3909         'hasdst' => false ),\r
3910     'Chile Time' => array(\r
3911         'offset' => -14400000,\r
3912         'longname' => 'Chile Time',\r
3913         'shortname' => 'CLT',\r
3914         'hasdst' => true,\r
3915         'dstlongname' => 'Chile Summer Time',\r
3916         'dstshortname' => 'CLST' ),\r
3917     'Falkland Is. Time' => array(\r
3918         'offset' => -14400000,\r
3919         'longname' => 'Falkland Is. Time',\r
3920         'shortname' => 'FKT',\r
3921         'hasdst' => true,\r
3922         'dstlongname' => 'Falkland Is. Summer Time',\r
3923         'dstshortname' => 'FKST' ),\r
3924     'GMT-04:00' => array(\r
3925         'offset' => -14400000,\r
3926         'longname' => 'GMT-04:00',\r
3927         'shortname' => 'GMT-04:00',\r
3928         'hasdst' => false ),\r
3929     'Newfoundland Standard Time' => array(\r
3930         'offset' => -12600000,\r
3931         'longname' => 'Newfoundland Standard Time',\r
3932         'shortname' => 'NST',\r
3933         'hasdst' => true,\r
3934         'dstlongname' => 'Newfoundland Daylight Time',\r
3935         'dstshortname' => 'NDT' ),\r
3936     'Argentine Time' => array(\r
3937         'offset' => -10800000,\r
3938         'longname' => 'Argentine Time',\r
3939         'shortname' => 'ART',\r
3940         'hasdst' => false ),\r
3941     'Brazil Time' => array(\r
3942         'offset' => -10800000,\r
3943         'longname' => 'Brazil Time',\r
3944         'shortname' => 'BRT',\r
3945         'hasdst' => true,\r
3946         'dstlongname' => 'Brazil Summer Time',\r
3947         'dstshortname' => 'BRST' ),\r
3948     'French Guiana Time' => array(\r
3949         'offset' => -10800000,\r
3950         'longname' => 'French Guiana Time',\r
3951         'shortname' => 'GFT',\r
3952         'hasdst' => false ),\r
3953     'Western Greenland Time' => array(\r
3954         'offset' => -10800000,\r
3955         'longname' => 'Western Greenland Time',\r
3956         'shortname' => 'WGT',\r
3957         'hasdst' => true,\r
3958         'dstlongname' => 'Western Greenland Summer Time',\r
3959         'dstshortname' => 'WGST' ),\r
3960     'Pierre & Miquelon Standard Time' => array(\r
3961         'offset' => -10800000,\r
3962         'longname' => 'Pierre & Miquelon Standard Time',\r
3963         'shortname' => 'PMST',\r
3964         'hasdst' => true,\r
3965         'dstlongname' => 'Pierre & Miquelon Daylight Time',\r
3966         'dstshortname' => 'PMDT' ),\r
3967     'Uruguay Time' => array(\r
3968         'offset' => -10800000,\r
3969         'longname' => 'Uruguay Time',\r
3970         'shortname' => 'UYT',\r
3971         'hasdst' => false ),\r
3972     'Suriname Time' => array(\r
3973         'offset' => -10800000,\r
3974         'longname' => 'Suriname Time',\r
3975         'shortname' => 'SRT',\r
3976         'hasdst' => false ),\r
3977     'GMT-03:00' => array(\r
3978         'offset' => -10800000,\r
3979         'longname' => 'GMT-03:00',\r
3980         'shortname' => 'GMT-03:00',\r
3981         'hasdst' => false ),\r
3982     'Fernando de Noronha Time' => array(\r
3983         'offset' => -7200000,\r
3984         'longname' => 'Fernando de Noronha Time',\r
3985         'shortname' => 'FNT',\r
3986         'hasdst' => false ),\r
3987     'South Georgia Standard Time' => array(\r
3988         'offset' => -7200000,\r
3989         'longname' => 'South Georgia Standard Time',\r
3990         'shortname' => 'GST',\r
3991         'hasdst' => false ),\r
3992     'GMT-02:00' => array(\r
3993         'offset' => -7200000,\r
3994         'longname' => 'GMT-02:00',\r
3995         'shortname' => 'GMT-02:00',\r
3996         'hasdst' => false ),\r
3997     'Eastern Greenland Time' => array(\r
3998         'offset' => 3600000,\r
3999         'longname' => 'Eastern Greenland Time',\r
4000         'shortname' => 'EGT',\r
4001         'hasdst' => true,\r
4002         'dstlongname' => 'Eastern Greenland Summer Time',\r
4003         'dstshortname' => 'EGST' ),\r
4004     'Azores Time' => array(\r
4005         'offset' => -3600000,\r
4006         'longname' => 'Azores Time',\r
4007         'shortname' => 'AZOT',\r
4008         'hasdst' => true,\r
4009         'dstlongname' => 'Azores Summer Time',\r
4010         'dstshortname' => 'AZOST' ),\r
4011     'Cape Verde Time' => array(\r
4012         'offset' => -3600000,\r
4013         'longname' => 'Cape Verde Time',\r
4014         'shortname' => 'CVT',\r
4015         'hasdst' => false ),\r
4016     'GMT-01:00' => array(\r
4017         'offset' => -3600000,\r
4018         'longname' => 'GMT-01:00',\r
4019         'shortname' => 'GMT-01:00',\r
4020         'hasdst' => false ),\r
4021     'Greenwich Mean Time' => array(\r
4022         'offset' => 0,\r
4023         'longname' => 'Greenwich Mean Time',\r
4024         'shortname' => 'GMT',\r
4025         'hasdst' => false ),\r
4026     'Western European Time' => array(\r
4027         'offset' => 0,\r
4028         'longname' => 'Western European Time',\r
4029         'shortname' => 'WET',\r
4030         'hasdst' => true,\r
4031         'dstlongname' => 'Western European Summer Time',\r
4032         'dstshortname' => 'WEST' ),\r
4033     'GMT+00:00' => array(\r
4034         'offset' => 0,\r
4035         'longname' => 'GMT+00:00',\r
4036         'shortname' => 'GMT+00:00',\r
4037         'hasdst' => false ),\r
4038     'Coordinated Universal Time' => array(\r
4039         'offset' => 0,\r
4040         'longname' => 'Coordinated Universal Time',\r
4041         'shortname' => 'UTC',\r
4042         'hasdst' => false ),\r
4043     'Central European Time' => array(\r
4044         'offset' => 3600000,\r
4045         'longname' => 'Central European Time',\r
4046         'shortname' => 'CET',\r
4047         'hasdst' => true,\r
4048         'dstlongname' => 'Central European Summer Time',\r
4049         'dstshortname' => 'CEST' ),\r
4050     'Western African Time' => array(\r
4051         'offset' => 3600000,\r
4052         'longname' => 'Western African Time',\r
4053         'shortname' => 'WAT',\r
4054         'hasdst' => true,\r
4055         'dstlongname' => 'Western African Summer Time',\r
4056         'dstshortname' => 'WAST' ),\r
4057     'GMT+01:00' => array(\r
4058         'offset' => 3600000,\r
4059         'longname' => 'GMT+01:00',\r
4060         'shortname' => 'GMT+01:00',\r
4061         'hasdst' => false ),\r
4062     'Middle Europe Time' => array(\r
4063         'offset' => 3600000,\r
4064         'longname' => 'Middle Europe Time',\r
4065         'shortname' => 'MET',\r
4066         'hasdst' => true,\r
4067         'dstlongname' => 'Middle Europe Summer Time',\r
4068         'dstshortname' => 'MEST' ),\r
4069     'Eastern European Time' => array(\r
4070         'offset' => 7200000,\r
4071         'longname' => 'Eastern European Time',\r
4072         'shortname' => 'EET',\r
4073         'hasdst' => true,\r
4074         'dstlongname' => 'Eastern European Summer Time',\r
4075         'dstshortname' => 'EEST' ),\r
4076     'Central African Time' => array(\r
4077         'offset' => 7200000,\r
4078         'longname' => 'Central African Time',\r
4079         'shortname' => 'CAT',\r
4080         'hasdst' => false ),\r
4081     'South Africa Standard Time' => array(\r
4082         'offset' => 7200000,\r
4083         'longname' => 'South Africa Standard Time',\r
4084         'shortname' => 'SAST',\r
4085         'hasdst' => false ),\r
4086     'Israel Standard Time' => array(\r
4087         'offset' => 7200000,\r
4088         'longname' => 'Israel Standard Time',\r
4089         'shortname' => 'IST',\r
4090         'hasdst' => true,\r
4091         'dstlongname' => 'Israel Daylight Time',\r
4092         'dstshortname' => 'IDT' ),\r
4093     'GMT+02:00' => array(\r
4094         'offset' => 7200000,\r
4095         'longname' => 'GMT+02:00',\r
4096         'shortname' => 'GMT+02:00',\r
4097         'hasdst' => false ),\r
4098     'Eastern African Time' => array(\r
4099         'offset' => 10800000,\r
4100         'longname' => 'Eastern African Time',\r
4101         'shortname' => 'EAT',\r
4102         'hasdst' => false ),\r
4103     'Syowa Time' => array(\r
4104         'offset' => 10800000,\r
4105         'longname' => 'Syowa Time',\r
4106         'shortname' => 'SYOT',\r
4107         'hasdst' => false ),\r
4108     'Arabia Standard Time' => array(\r
4109         'offset' => 10800000,\r
4110         'longname' => 'Arabia Standard Time',\r
4111         'shortname' => 'AST',\r
4112         'hasdst' => false ),\r
4113     'GMT+03:00' => array(\r
4114         'offset' => 10800000,\r
4115         'longname' => 'GMT+03:00',\r
4116         'shortname' => 'GMT+03:00',\r
4117         'hasdst' => false ),\r
4118     'Moscow Standard Time' => array(\r
4119         'offset' => 10800000,\r
4120         'longname' => 'Moscow Standard Time',\r
4121         'shortname' => 'MSK',\r
4122         'hasdst' => true,\r
4123         'dstlongname' => 'Moscow Daylight Time',\r
4124         'dstshortname' => 'MSD' ),\r
4125     'GMT+03:07' => array(\r
4126         'offset' => 11224000,\r
4127         'longname' => 'GMT+03:07',\r
4128         'shortname' => 'GMT+03:07',\r
4129         'hasdst' => false ),\r
4130     'Iran Time' => array(\r
4131         'offset' => 12600000,\r
4132         'longname' => 'Iran Time',\r
4133         'shortname' => 'IRT',\r
4134         'hasdst' => true,\r
4135         'dstlongname' => 'Iran Sumer Time',\r
4136         'dstshortname' => 'IRST' ),\r
4137     'Aqtau Time' => array(\r
4138         'offset' => 14400000,\r
4139         'longname' => 'Aqtau Time',\r
4140         'shortname' => 'AQTT',\r
4141         'hasdst' => true,\r
4142         'dstlongname' => 'Aqtau Summer Time',\r
4143         'dstshortname' => 'AQTST' ),\r
4144     'Azerbaijan Time' => array(\r
4145         'offset' => 14400000,\r
4146         'longname' => 'Azerbaijan Time',\r
4147         'shortname' => 'AZT',\r
4148         'hasdst' => true,\r
4149         'dstlongname' => 'Azerbaijan Summer Time',\r
4150         'dstshortname' => 'AZST' ),\r
4151     'Gulf Standard Time' => array(\r
4152         'offset' => 14400000,\r
4153         'longname' => 'Gulf Standard Time',\r
4154         'shortname' => 'GST',\r
4155         'hasdst' => false ),\r
4156     'Georgia Time' => array(\r
4157         'offset' => 14400000,\r
4158         'longname' => 'Georgia Time',\r
4159         'shortname' => 'GET',\r
4160         'hasdst' => true,\r
4161         'dstlongname' => 'Georgia Summer Time',\r
4162         'dstshortname' => 'GEST' ),\r
4163     'Armenia Time' => array(\r
4164         'offset' => 14400000,\r
4165         'longname' => 'Armenia Time',\r
4166         'shortname' => 'AMT',\r
4167         'hasdst' => true,\r
4168         'dstlongname' => 'Armenia Summer Time',\r
4169         'dstshortname' => 'AMST' ),\r
4170     'GMT+04:00' => array(\r
4171         'offset' => 14400000,\r
4172         'longname' => 'GMT+04:00',\r
4173         'shortname' => 'GMT+04:00',\r
4174         'hasdst' => false ),\r
4175     'Samara Time' => array(\r
4176         'offset' => 14400000,\r
4177         'longname' => 'Samara Time',\r
4178         'shortname' => 'SAMT',\r
4179         'hasdst' => true,\r
4180         'dstlongname' => 'Samara Summer Time',\r
4181         'dstshortname' => 'SAMST' ),\r
4182     'Seychelles Time' => array(\r
4183         'offset' => 14400000,\r
4184         'longname' => 'Seychelles Time',\r
4185         'shortname' => 'SCT',\r
4186         'hasdst' => false ),\r
4187     'Mauritius Time' => array(\r
4188         'offset' => 14400000,\r
4189         'longname' => 'Mauritius Time',\r
4190         'shortname' => 'MUT',\r
4191         'hasdst' => false ),\r
4192     'Reunion Time' => array(\r
4193         'offset' => 14400000,\r
4194         'longname' => 'Reunion Time',\r
4195         'shortname' => 'RET',\r
4196         'hasdst' => false ),\r
4197     'Afghanistan Time' => array(\r
4198         'offset' => 16200000,\r
4199         'longname' => 'Afghanistan Time',\r
4200         'shortname' => 'AFT',\r
4201         'hasdst' => false ),\r
4202     'Aqtobe Time' => array(\r
4203         'offset' => 18000000,\r
4204         'longname' => 'Aqtobe Time',\r
4205         'shortname' => 'AQTT',\r
4206         'hasdst' => true,\r
4207         'dstlongname' => 'Aqtobe Summer Time',\r
4208         'dstshortname' => 'AQTST' ),\r
4209     'Turkmenistan Time' => array(\r
4210         'offset' => 18000000,\r
4211         'longname' => 'Turkmenistan Time',\r
4212         'shortname' => 'TMT',\r
4213         'hasdst' => false ),\r
4214     'Kirgizstan Time' => array(\r
4215         'offset' => 18000000,\r
4216         'longname' => 'Kirgizstan Time',\r
4217         'shortname' => 'KGT',\r
4218         'hasdst' => true,\r
4219         'dstlongname' => 'Kirgizstan Summer Time',\r
4220         'dstshortname' => 'KGST' ),\r
4221     'Tajikistan Time' => array(\r
4222         'offset' => 18000000,\r
4223         'longname' => 'Tajikistan Time',\r
4224         'shortname' => 'TJT',\r
4225         'hasdst' => false ),\r
4226     'Pakistan Time' => array(\r
4227         'offset' => 18000000,\r
4228         'longname' => 'Pakistan Time',\r
4229         'shortname' => 'PKT',\r
4230         'hasdst' => false ),\r
4231     'Uzbekistan Time' => array(\r
4232         'offset' => 18000000,\r
4233         'longname' => 'Uzbekistan Time',\r
4234         'shortname' => 'UZT',\r
4235         'hasdst' => false ),\r
4236     'Yekaterinburg Time' => array(\r
4237         'offset' => 18000000,\r
4238         'longname' => 'Yekaterinburg Time',\r
4239         'shortname' => 'YEKT',\r
4240         'hasdst' => true,\r
4241         'dstlongname' => 'Yekaterinburg Summer Time',\r
4242         'dstshortname' => 'YEKST' ),\r
4243     'GMT+05:00' => array(\r
4244         'offset' => 18000000,\r
4245         'longname' => 'GMT+05:00',\r
4246         'shortname' => 'GMT+05:00',\r
4247         'hasdst' => false ),\r
4248     'French Southern & Antarctic Lands Time' => array(\r
4249         'offset' => 18000000,\r
4250         'longname' => 'French Southern & Antarctic Lands Time',\r
4251         'shortname' => 'TFT',\r
4252         'hasdst' => false ),\r
4253     'Maldives Time' => array(\r
4254         'offset' => 18000000,\r
4255         'longname' => 'Maldives Time',\r
4256         'shortname' => 'MVT',\r
4257         'hasdst' => false ),\r
4258     'India Standard Time' => array(\r
4259         'offset' => 19800000,\r
4260         'longname' => 'India Standard Time',\r
4261         'shortname' => 'IST',\r
4262         'hasdst' => false ),\r
4263     'Nepal Time' => array(\r
4264         'offset' => 20700000,\r
4265         'longname' => 'Nepal Time',\r
4266         'shortname' => 'NPT',\r
4267         'hasdst' => false ),\r
4268     'Mawson Time' => array(\r
4269         'offset' => 21600000,\r
4270         'longname' => 'Mawson Time',\r
4271         'shortname' => 'MAWT',\r
4272         'hasdst' => false ),\r
4273     'Vostok time' => array(\r
4274         'offset' => 21600000,\r
4275         'longname' => 'Vostok time',\r
4276         'shortname' => 'VOST',\r
4277         'hasdst' => false ),\r
4278     'Alma-Ata Time' => array(\r
4279         'offset' => 21600000,\r
4280         'longname' => 'Alma-Ata Time',\r
4281         'shortname' => 'ALMT',\r
4282         'hasdst' => true,\r
4283         'dstlongname' => 'Alma-Ata Summer Time',\r
4284         'dstshortname' => 'ALMST' ),\r
4285     'Sri Lanka Time' => array(\r
4286         'offset' => 21600000,\r
4287         'longname' => 'Sri Lanka Time',\r
4288         'shortname' => 'LKT',\r
4289         'hasdst' => false ),\r
4290     'Bangladesh Time' => array(\r
4291         'offset' => 21600000,\r
4292         'longname' => 'Bangladesh Time',\r
4293         'shortname' => 'BDT',\r
4294         'hasdst' => false ),\r
4295     'Novosibirsk Time' => array(\r
4296         'offset' => 21600000,\r
4297         'longname' => 'Novosibirsk Time',\r
4298         'shortname' => 'NOVT',\r
4299         'hasdst' => true,\r
4300         'dstlongname' => 'Novosibirsk Summer Time',\r
4301         'dstshortname' => 'NOVST' ),\r
4302     'Omsk Time' => array(\r
4303         'offset' => 21600000,\r
4304         'longname' => 'Omsk Time',\r
4305         'shortname' => 'OMST',\r
4306         'hasdst' => true,\r
4307         'dstlongname' => 'Omsk Summer Time',\r
4308         'dstshortname' => 'OMSST' ),\r
4309     'Bhutan Time' => array(\r
4310         'offset' => 21600000,\r
4311         'longname' => 'Bhutan Time',\r
4312         'shortname' => 'BTT',\r
4313         'hasdst' => false ),\r
4314     'GMT+06:00' => array(\r
4315         'offset' => 21600000,\r
4316         'longname' => 'GMT+06:00',\r
4317         'shortname' => 'GMT+06:00',\r
4318         'hasdst' => false ),\r
4319     'Indian Ocean Territory Time' => array(\r
4320         'offset' => 21600000,\r
4321         'longname' => 'Indian Ocean Territory Time',\r
4322         'shortname' => 'IOT',\r
4323         'hasdst' => false ),\r
4324     'Myanmar Time' => array(\r
4325         'offset' => 23400000,\r
4326         'longname' => 'Myanmar Time',\r
4327         'shortname' => 'MMT',\r
4328         'hasdst' => false ),\r
4329     'Cocos Islands Time' => array(\r
4330         'offset' => 23400000,\r
4331         'longname' => 'Cocos Islands Time',\r
4332         'shortname' => 'CCT',\r
4333         'hasdst' => false ),\r
4334     'Davis Time' => array(\r
4335         'offset' => 25200000,\r
4336         'longname' => 'Davis Time',\r
4337         'shortname' => 'DAVT',\r
4338         'hasdst' => false ),\r
4339     'Indochina Time' => array(\r
4340         'offset' => 25200000,\r
4341         'longname' => 'Indochina Time',\r
4342         'shortname' => 'ICT',\r
4343         'hasdst' => false ),\r
4344     'Hovd Time' => array(\r
4345         'offset' => 25200000,\r
4346         'longname' => 'Hovd Time',\r
4347         'shortname' => 'HOVT',\r
4348         'hasdst' => false ),\r
4349     'West Indonesia Time' => array(\r
4350         'offset' => 25200000,\r
4351         'longname' => 'West Indonesia Time',\r
4352         'shortname' => 'WIT',\r
4353         'hasdst' => false ),\r
4354     'Krasnoyarsk Time' => array(\r
4355         'offset' => 25200000,\r
4356         'longname' => 'Krasnoyarsk Time',\r
4357         'shortname' => 'KRAT',\r
4358         'hasdst' => true,\r
4359         'dstlongname' => 'Krasnoyarsk Summer Time',\r
4360         'dstshortname' => 'KRAST' ),\r
4361     'GMT+07:00' => array(\r
4362         'offset' => 25200000,\r
4363         'longname' => 'GMT+07:00',\r
4364         'shortname' => 'GMT+07:00',\r
4365         'hasdst' => false ),\r
4366     'Christmas Island Time' => array(\r
4367         'offset' => 25200000,\r
4368         'longname' => 'Christmas Island Time',\r
4369         'shortname' => 'CXT',\r
4370         'hasdst' => false ),\r
4371     'Western Standard Time (Australia)' => array(\r
4372         'offset' => 28800000,\r
4373         'longname' => 'Western Standard Time (Australia)',\r
4374         'shortname' => 'WST',\r
4375         'hasdst' => false ),\r
4376     'Brunei Time' => array(\r
4377         'offset' => 28800000,\r
4378         'longname' => 'Brunei Time',\r
4379         'shortname' => 'BNT',\r
4380         'hasdst' => false ),\r
4381     'China Standard Time' => array(\r
4382         'offset' => 28800000,\r
4383         'longname' => 'China Standard Time',\r
4384         'shortname' => 'CST',\r
4385         'hasdst' => false ),\r
4386     'Hong Kong Time' => array(\r
4387         'offset' => 28800000,\r
4388         'longname' => 'Hong Kong Time',\r
4389         'shortname' => 'HKT',\r
4390         'hasdst' => false ),\r
4391     'Irkutsk Time' => array(\r
4392         'offset' => 28800000,\r
4393         'longname' => 'Irkutsk Time',\r
4394         'shortname' => 'IRKT',\r
4395         'hasdst' => true,\r
4396         'dstlongname' => 'Irkutsk Summer Time',\r
4397         'dstshortname' => 'IRKST' ),\r
4398     'Malaysia Time' => array(\r
4399         'offset' => 28800000,\r
4400         'longname' => 'Malaysia Time',\r
4401         'shortname' => 'MYT',\r
4402         'hasdst' => false ),\r
4403     'Philippines Time' => array(\r
4404         'offset' => 28800000,\r
4405         'longname' => 'Philippines Time',\r
4406         'shortname' => 'PHT',\r
4407         'hasdst' => false ),\r
4408     'Singapore Time' => array(\r
4409         'offset' => 28800000,\r
4410         'longname' => 'Singapore Time',\r
4411         'shortname' => 'SGT',\r
4412         'hasdst' => false ),\r
4413     'Central Indonesia Time' => array(\r
4414         'offset' => 28800000,\r
4415         'longname' => 'Central Indonesia Time',\r
4416         'shortname' => 'CIT',\r
4417         'hasdst' => false ),\r
4418     'Ulaanbaatar Time' => array(\r
4419         'offset' => 28800000,\r
4420         'longname' => 'Ulaanbaatar Time',\r
4421         'shortname' => 'ULAT',\r
4422         'hasdst' => false ),\r
4423     'GMT+08:00' => array(\r
4424         'offset' => 28800000,\r
4425         'longname' => 'GMT+08:00',\r
4426         'shortname' => 'GMT+08:00',\r
4427         'hasdst' => false ),\r
4428     'Choibalsan Time' => array(\r
4429         'offset' => 32400000,\r
4430         'longname' => 'Choibalsan Time',\r
4431         'shortname' => 'CHOT',\r
4432         'hasdst' => false ),\r
4433     'East Timor Time' => array(\r
4434         'offset' => 32400000,\r
4435         'longname' => 'East Timor Time',\r
4436         'shortname' => 'TPT',\r
4437         'hasdst' => false ),\r
4438     'East Indonesia Time' => array(\r
4439         'offset' => 32400000,\r
4440         'longname' => 'East Indonesia Time',\r
4441         'shortname' => 'EIT',\r
4442         'hasdst' => false ),\r
4443     'Korea Standard Time' => array(\r
4444         'offset' => 32400000,\r
4445         'longname' => 'Korea Standard Time',\r
4446         'shortname' => 'KST',\r
4447         'hasdst' => false ),\r
4448     'Japan Standard Time' => array(\r
4449         'offset' => 32400000,\r
4450         'longname' => 'Japan Standard Time',\r
4451         'shortname' => 'JST',\r
4452         'hasdst' => false ),\r
4453     'Yakutsk Time' => array(\r
4454         'offset' => 32400000,\r
4455         'longname' => 'Yakutsk Time',\r
4456         'shortname' => 'YAKT',\r
4457         'hasdst' => true,\r
4458         'dstlongname' => 'Yaktsk Summer Time',\r
4459         'dstshortname' => 'YAKST' ),\r
4460     'GMT+09:00' => array(\r
4461         'offset' => 32400000,\r
4462         'longname' => 'GMT+09:00',\r
4463         'shortname' => 'GMT+09:00',\r
4464         'hasdst' => false ),\r
4465     'Palau Time' => array(\r
4466         'offset' => 32400000,\r
4467         'longname' => 'Palau Time',\r
4468         'shortname' => 'PWT',\r
4469         'hasdst' => false ),\r
4470     'Central Standard Time (Northern Territory)' => array(\r
4471         'offset' => 34200000,\r
4472         'longname' => 'Central Standard Time (Northern Territory)',\r
4473         'shortname' => 'CST',\r
4474         'hasdst' => false ),\r
4475     'Central Standard Time (South Australia)' => array(\r
4476         'offset' => 34200000,\r
4477         'longname' => 'Central Standard Time (South Australia)',\r
4478         'shortname' => 'CST',\r
4479         'hasdst' => true,\r
4480         'dstlongname' => 'Central Summer Time (South Australia)',\r
4481         'dstshortname' => 'CST' ),\r
4482     'Central Standard Time (South Australia/New South Wales)' => array(\r
4483         'offset' => 34200000,\r
4484         'longname' => 'Central Standard Time (South Australia/New South Wales)',\r
4485         'shortname' => 'CST',\r
4486         'hasdst' => true,\r
4487         'dstlongname' => 'Central Summer Time (South Australia/New South Wales)',\r
4488         'dstshortname' => 'CST' ),\r
4489     'Eastern Standard Time (New South Wales)' => array(\r
4490         'offset' => 36000000,\r
4491         'longname' => 'Eastern Standard Time (New South Wales)',\r
4492         'shortname' => 'EST',\r
4493         'hasdst' => true,\r
4494         'dstlongname' => 'Eastern Summer Time (New South Wales)',\r
4495         'dstshortname' => 'EST' ),\r
4496     'Dumont-d\'Urville Time' => array(\r
4497         'offset' => 36000000,\r
4498         'longname' => 'Dumont-d\'Urville Time',\r
4499         'shortname' => 'DDUT',\r
4500         'hasdst' => false ),\r
4501     'Sakhalin Time' => array(\r
4502         'offset' => 36000000,\r
4503         'longname' => 'Sakhalin Time',\r
4504         'shortname' => 'SAKT',\r
4505         'hasdst' => true,\r
4506         'dstlongname' => 'Sakhalin Summer Time',\r
4507         'dstshortname' => 'SAKST' ),\r
4508     'Vladivostok Time' => array(\r
4509         'offset' => 36000000,\r
4510         'longname' => 'Vladivostok Time',\r
4511         'shortname' => 'VLAT',\r
4512         'hasdst' => true,\r
4513         'dstlongname' => 'Vladivostok Summer Time',\r
4514         'dstshortname' => 'VLAST' ),\r
4515     'Eastern Standard Time (Queensland)' => array(\r
4516         'offset' => 36000000,\r
4517         'longname' => 'Eastern Standard Time (Queensland)',\r
4518         'shortname' => 'EST',\r
4519         'hasdst' => false ),\r
4520     'Eastern Standard Time (Tasmania)' => array(\r
4521         'offset' => 36000000,\r
4522         'longname' => 'Eastern Standard Time (Tasmania)',\r
4523         'shortname' => 'EST',\r
4524         'hasdst' => true,\r
4525         'dstlongname' => 'Eastern Summer Time (Tasmania)',\r
4526         'dstshortname' => 'EST' ),\r
4527     'Eastern Standard Time (Victoria)' => array(\r
4528         'offset' => 36000000,\r
4529         'longname' => 'Eastern Standard Time (Victoria)',\r
4530         'shortname' => 'EST',\r
4531         'hasdst' => true,\r
4532         'dstlongname' => 'Eastern Summer Time (Victoria)',\r
4533         'dstshortname' => 'EST' ),\r
4534     'GMT+10:00' => array(\r
4535         'offset' => 36000000,\r
4536         'longname' => 'GMT+10:00',\r
4537         'shortname' => 'GMT+10:00',\r
4538         'hasdst' => false ),\r
4539     'Chamorro Standard Time' => array(\r
4540         'offset' => 36000000,\r
4541         'longname' => 'Chamorro Standard Time',\r
4542         'shortname' => 'ChST',\r
4543         'hasdst' => false ),\r
4544     'Papua New Guinea Time' => array(\r
4545         'offset' => 36000000,\r
4546         'longname' => 'Papua New Guinea Time',\r
4547         'shortname' => 'PGT',\r
4548         'hasdst' => false ),\r
4549     'Truk Time' => array(\r
4550         'offset' => 36000000,\r
4551         'longname' => 'Truk Time',\r
4552         'shortname' => 'TRUT',\r
4553         'hasdst' => false ),\r
4554     'Yap Time' => array(\r
4555         'offset' => 36000000,\r
4556         'longname' => 'Yap Time',\r
4557         'shortname' => 'YAPT',\r
4558         'hasdst' => false ),\r
4559     'Load Howe Standard Time' => array(\r
4560         'offset' => 37800000,\r
4561         'longname' => 'Load Howe Standard Time',\r
4562         'shortname' => 'LHST',\r
4563         'hasdst' => true,\r
4564         'dstlongname' => 'Load Howe Summer Time',\r
4565         'dstshortname' => 'LHST' ),\r
4566     'Magadan Time' => array(\r
4567         'offset' => 39600000,\r
4568         'longname' => 'Magadan Time',\r
4569         'shortname' => 'MAGT',\r
4570         'hasdst' => true,\r
4571         'dstlongname' => 'Magadan Summer Time',\r
4572         'dstshortname' => 'MAGST' ),\r
4573     'GMT+11:00' => array(\r
4574         'offset' => 39600000,\r
4575         'longname' => 'GMT+11:00',\r
4576         'shortname' => 'GMT+11:00',\r
4577         'hasdst' => false ),\r
4578     'Vanuatu Time' => array(\r
4579         'offset' => 39600000,\r
4580         'longname' => 'Vanuatu Time',\r
4581         'shortname' => 'VUT',\r
4582         'hasdst' => false ),\r
4583     'Solomon Is. Time' => array(\r
4584         'offset' => 39600000,\r
4585         'longname' => 'Solomon Is. Time',\r
4586         'shortname' => 'SBT',\r
4587         'hasdst' => false ),\r
4588     'Kosrae Time' => array(\r
4589         'offset' => 39600000,\r
4590         'longname' => 'Kosrae Time',\r
4591         'shortname' => 'KOST',\r
4592         'hasdst' => false ),\r
4593     'New Caledonia Time' => array(\r
4594         'offset' => 39600000,\r
4595         'longname' => 'New Caledonia Time',\r
4596         'shortname' => 'NCT',\r
4597         'hasdst' => false ),\r
4598     'Ponape Time' => array(\r
4599         'offset' => 39600000,\r
4600         'longname' => 'Ponape Time',\r
4601         'shortname' => 'PONT',\r
4602         'hasdst' => false ),\r
4603     'Norfolk Time' => array(\r
4604         'offset' => 41400000,\r
4605         'longname' => 'Norfolk Time',\r
4606         'shortname' => 'NFT',\r
4607         'hasdst' => false ),\r
4608     'New Zealand Standard Time' => array(\r
4609         'offset' => 43200000,\r
4610         'longname' => 'New Zealand Standard Time',\r
4611         'shortname' => 'NZST',\r
4612         'hasdst' => true,\r
4613         'dstlongname' => 'New Zealand Daylight Time',\r
4614         'dstshortname' => 'NZDT' ),\r
4615     'Anadyr Time' => array(\r
4616         'offset' => 43200000,\r
4617         'longname' => 'Anadyr Time',\r
4618         'shortname' => 'ANAT',\r
4619         'hasdst' => true,\r
4620         'dstlongname' => 'Anadyr Summer Time',\r
4621         'dstshortname' => 'ANAST' ),\r
4622     'Petropavlovsk-Kamchatski Time' => array(\r
4623         'offset' => 43200000,\r
4624         'longname' => 'Petropavlovsk-Kamchatski Time',\r
4625         'shortname' => 'PETT',\r
4626         'hasdst' => true,\r
4627         'dstlongname' => 'Petropavlovsk-Kamchatski Summer Time',\r
4628         'dstshortname' => 'PETST' ),\r
4629     'GMT+12:00' => array(\r
4630         'offset' => 43200000,\r
4631         'longname' => 'GMT+12:00',\r
4632         'shortname' => 'GMT+12:00',\r
4633         'hasdst' => false ),\r
4634     'Marshall Islands Time' => array(\r
4635         'offset' => 43200000,\r
4636         'longname' => 'Marshall Islands Time',\r
4637         'shortname' => 'MHT',\r
4638         'hasdst' => false ),\r
4639     'Fiji Time' => array(\r
4640         'offset' => 43200000,\r
4641         'longname' => 'Fiji Time',\r
4642         'shortname' => 'FJT',\r
4643         'hasdst' => false ),\r
4644     'Tuvalu Time' => array(\r
4645         'offset' => 43200000,\r
4646         'longname' => 'Tuvalu Time',\r
4647         'shortname' => 'TVT',\r
4648         'hasdst' => false ),\r
4649     'Nauru Time' => array(\r
4650         'offset' => 43200000,\r
4651         'longname' => 'Nauru Time',\r
4652         'shortname' => 'NRT',\r
4653         'hasdst' => false ),\r
4654     'Gilbert Is. Time' => array(\r
4655         'offset' => 43200000,\r
4656         'longname' => 'Gilbert Is. Time',\r
4657         'shortname' => 'GILT',\r
4658         'hasdst' => false ),\r
4659     'Wake Time' => array(\r
4660         'offset' => 43200000,\r
4661         'longname' => 'Wake Time',\r
4662         'shortname' => 'WAKT',\r
4663         'hasdst' => false ),\r
4664     'Wallis & Futuna Time' => array(\r
4665         'offset' => 43200000,\r
4666         'longname' => 'Wallis & Futuna Time',\r
4667         'shortname' => 'WFT',\r
4668         'hasdst' => false ),\r
4669     'Chatham Standard Time' => array(\r
4670         'offset' => 45900000,\r
4671         'longname' => 'Chatham Standard Time',\r
4672         'shortname' => 'CHAST',\r
4673         'hasdst' => true,\r
4674         'dstlongname' => 'Chatham Daylight Time',\r
4675         'dstshortname' => 'CHADT' ),\r
4676     'GMT+13:00' => array(\r
4677         'offset' => 46800000,\r
4678         'longname' => 'GMT+13:00',\r
4679         'shortname' => 'GMT+13:00',\r
4680         'hasdst' => false ),\r
4681     'Phoenix Is. Time' => array(\r
4682         'offset' => 46800000,\r
4683         'longname' => 'Phoenix Is. Time',\r
4684         'shortname' => 'PHOT',\r
4685         'hasdst' => false ),\r
4686     'Tonga Time' => array(\r
4687         'offset' => 46800000,\r
4688         'longname' => 'Tonga Time',\r
4689         'shortname' => 'TOT',\r
4690         'hasdst' => false ),\r
4691     'GMT+14:00' => array(\r
4692         'offset' => 50400000,\r
4693         'longname' => 'GMT+14:00',\r
4694         'shortname' => 'GMT+14:00',\r
4695         'hasdst' => false ),\r
4696     'Line Is. Time' => array(\r
4697         'offset' => 50400000,\r
4698         'longname' => 'Line Is. Time',\r
4699         'shortname' => 'LINT',\r
4700         'hasdst' => false ),\r
4701 );\r
4702 \r
4703 /**\r
4704  * Initialize default timezone\r
4705  *\r
4706  * First try _DATE_TIMEZONE_DEFAULT global, then PHP_TZ environment var,\r
4707  * then TZ environment var\r
4708  */\r
4709 if(isset($GLOBALS['_DATE_TIMEZONE_DEFAULT'])\r
4710    && Date_TimeZone::isValidID($GLOBALS['_DATE_TIMEZONE_DEFAULT']))\r
4711 {\r
4712     Date_TimeZone::setDefault($GLOBALS['_DATE_TIMEZONE_DEFAULT']);\r
4713 } elseif (getenv('PHP_TZ') && Date_TimeZone::isValidID(getenv('PHP_TZ'))) {\r
4714     Date_TimeZone::setDefault(getenv('PHP_TZ'));\r
4715 } elseif (getenv('TZ') && Date_TimeZone::isValidID(getenv('TZ'))) {\r
4716     Date_TimeZone::setDefault(getenv('TZ'));\r
4717 } elseif (Date_TimeZone::isValidID(date('T'))) {\r
4718     Date_TimeZone::setDefault(date('T'));\r
4719 } else {\r
4720     Date_TimeZone::setDefault('UTC');\r
4721 }\r
4722 \r
4723 /*\r
4724  * Local variables:\r
4725  * mode: php\r
4726  * tab-width: 4\r
4727  * c-basic-offset: 4\r
4728  * c-hanging-comment-ender-p: nil\r
4729  * End:\r
4730  */\r
4731 ?>