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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

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