/[cvs]/nfo/php/libs/net.php.pear/Date/TimeZone.php
ViewVC logotype

Annotation of /nfo/php/libs/net.php.pear/Date/TimeZone.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Tue Oct 29 19:11:41 2002 UTC (21 years, 9 months ago) by cvsjoko
Branch: MAIN
CVS Tags: HEAD
+ new pear-libraries

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

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed