ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE/branches/ebihara/prj_pnebiz/lib/include/Date/TimeZone.php @ 557

Last change on this file since 557 was 557, checked in by ebihara, 14 years ago

create prj_pnebiz

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