diff options
author | Jim Hu <jimhu@users.sourceforge.net> | 2008-12-25 18:45:26 +0000 |
---|---|---|
committer | Jim Hu <jimhu@users.sourceforge.net> | 2008-12-25 18:45:26 +0000 |
commit | 52ba3b8146dd01c1c7d057359f4485aae5813124 (patch) | |
tree | c621fef680e5042594dc2bacfe84b37ffa95d031 | |
parent | 3b410264d50c0e4dbd7ded4fe951f832cc1b266c (diff) | |
download | phpicalendar-52ba3b8146dd01c1c7d057359f4485aae5813124.tar.gz phpicalendar-52ba3b8146dd01c1c7d057359f4485aae5813124.tar.bz2 phpicalendar-52ba3b8146dd01c1c7d057359f4485aae5813124.zip |
progress on timezones and daylight time
-rw-r--r-- | calendars/recur_tests/ex_set2.ics | 2 | ||||
-rw-r--r-- | calendars/recur_tests/ex_set3.ics | 1 | ||||
-rw-r--r-- | calendars/recur_tests/ex_set4.ics | 2 | ||||
-rw-r--r-- | calendars/test.ics | 29 | ||||
-rw-r--r-- | config.inc.php | 4 | ||||
-rw-r--r-- | functions/date_functions.php | 143 | ||||
-rw-r--r-- | functions/is_daylight.php | 292 | ||||
-rw-r--r-- | functions/parse/end_vevent.php | 86 | ||||
-rw-r--r-- | functions/parse/recur_functions.php | 3 | ||||
-rw-r--r-- | functions/timezones.php | 976 |
10 files changed, 940 insertions, 598 deletions
diff --git a/calendars/recur_tests/ex_set2.ics b/calendars/recur_tests/ex_set2.ics index d57e5d8..ceb3a60 100644 --- a/calendars/recur_tests/ex_set2.ics +++ b/calendars/recur_tests/ex_set2.ics @@ -63,7 +63,7 @@ END:VEVENT BEGIN:VEVENT SEQUENCE:7 DTSTAMP:20020918T224617Z -SUMMARY:Weekly on Tuesday and Thursday for 5 weeks - goes 1 extra? +SUMMARY:Weekly on Tuesday and Thursday for 5 weeks STATUS:CONFIRMED DURATION:PT1H30M DTSTART;TZID=US/Eastern:19970902T090000 diff --git a/calendars/recur_tests/ex_set3.ics b/calendars/recur_tests/ex_set3.ics index c657b6e..69029af 100644 --- a/calendars/recur_tests/ex_set3.ics +++ b/calendars/recur_tests/ex_set3.ics @@ -69,7 +69,6 @@ DURATION:PT1H30M DTSTART;TZID=US/Eastern:19970907T090000 RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU END:VEVENT -END:VCALENDAR BEGIN:VEVENT SEQUENCE:7 DTSTAMP:20020918T224617Z diff --git a/calendars/recur_tests/ex_set4.ics b/calendars/recur_tests/ex_set4.ics index 64e785d..9b0e179 100644 --- a/calendars/recur_tests/ex_set4.ics +++ b/calendars/recur_tests/ex_set4.ics @@ -51,7 +51,6 @@ DURATION:PT1H30M DTSTART;TZID=US/Eastern:19970910T090000 RRULE:FREQ=MONTHLY;INTERVAL=18;COUNT=10;BYMONTHDAY=10,11,12,13,14,15 END:VEVENT -END:VCALENDAR BEGIN:VEVENT SEQUENCE:7 DTSTAMP:20020918T224617Z @@ -61,7 +60,6 @@ DURATION:PT1H30M DTSTART;TZID=US/Eastern:19970902T090000 RRULE:FREQ=MONTHLY;INTERVAL=2;BYDAY=TU END:VEVENT -END:VCALENDAR BEGIN:VEVENT SEQUENCE:7 DTSTAMP:20020918T224617Z diff --git a/calendars/test.ics b/calendars/test.ics index 4bb03d4..9a9ce53 100644 --- a/calendars/test.ics +++ b/calendars/test.ics @@ -28,7 +28,7 @@ BEGIN:VEVENT UID:20081128T075152Z-3660-100-1-5@sietchtabr
DTSTAMP:20081128T075151Z
LAST-MODIFIED:20081128T075152
-SUMMARY:Witchcraft
+SUMMARY:Witchcraft Paris
CATEGORIES:jdr
DTSTART;TZID=/softwarestudio.org/Tzfile/Europe/Paris:20081213T210000
DTEND;TZID=/softwarestudio.org/Tzfile/Europe/Paris:20081213T230000
@@ -37,4 +37,31 @@ SEQUENCE:1 CREATED:20081128T075152
END:VEVENT
+BEGIN:VEVENT
+UID:20081128T075152Z-3660-100-1-6@sietchtabr2
+DTSTAMP:20081128T075151Z
+LAST-MODIFIED:20081128T075152
+SUMMARY:Witchcraft PST
+CATEGORIES:jdr
+DTSTART;TZID=US/Pacific:20081213T210000
+DTEND;TZID=US/Pacific:20081213T230000
+CLASS:PUBLIC
+SEQUENCE:1
+CREATED:20081128T075152
+END:VEVENT
+
+BEGIN:VEVENT
+UID:20081128T075152Z-3660-100-1-7@sietchtabr2
+DTSTAMP:20081128T075151Z
+LAST-MODIFIED:20081128T075152
+SUMMARY:daylight test PST
+CATEGORIES:jdr
+DTSTART;TZID=US/Pacific:20060331T010000
+DTEND;TZID=US/Pacific:20060331T020000
+RRULE:FREQ=DAILY;
+CLASS:PUBLIC
+SEQUENCE:1
+CREATED:20081128T075152
+END:VEVENT
+
END:VCALENDAR
diff --git a/config.inc.php b/config.inc.php index 78532e4..506d7ba 100644 --- a/config.inc.php +++ b/config.inc.php @@ -4,7 +4,7 @@ phpicalendar 2.3 should work with no additional configuration. This file can be changed to customize the behavior of phpicalendar. In version 2.3, there has been a change in the way configuration works in order to reduce the number of confusing global variables. Unfortunately, this means that config.inc.php files from older installations will have to be translated to the new format. The conversion is simple: use the old variable names as array keys for the $configs array below: */ - +$secs = 6*60*60; $configs = array( # 'calendar_path' => '/Library/WebServer/Documents/phpicalendar/calendars', # 'timezone' => 'US/Central', @@ -13,6 +13,8 @@ $configs = array( 'allow_preferences' => 'yes', # 'show_search' => 'yes', # 'show_todos' => 'no', + 'timezone' => 'US/Central', +# 'second_offset' => $secs, # 'cookie_uri' => '' ); diff --git a/functions/date_functions.php b/functions/date_functions.php index 3ba1b94..07745c1 100644 --- a/functions/date_functions.php +++ b/functions/date_functions.php @@ -153,7 +153,7 @@ function chooseOffset($time, $timezone = '') { break; default: if (is_array($tz_array) && array_key_exists($timezone, $tz_array)) { - $dlst = date('I', $time); + $dlst = is_daylight($time, $timezone); $offset = $tz_array[$timezone][$dlst]; } else { $offset = '+0000'; @@ -208,76 +208,105 @@ $return = " return $return; } -// Returns an array of the date and time extracted from the data -// passed in. This array contains (unixtime, date, time, allday). -// -// $data = A string representing a date-time per RFC2445. -// $property = The property being examined, e.g. DTSTART, DTEND. -// $field = The full field being examined, e.g. DTSTART;TZID=US/Pacific -function extractDateTime($data, $property, $field) { - global $tz_array, $phpiCal_config; - - // Initialize values. - unset($unixtime, $date, $time, $allday); +/* Returns an array of the date and time extracted from the data + passed in. This array contains (unixtime, date, time, allday). + + $data = A string representing a date-time per RFC2445. + $property = The property being examined, e.g. DTSTART, DTEND. + $field = The full field being examined, e.g. DTSTART;TZID=US/Pacific +See:http://phpicalendar.org/documentation/index.php/Property_Value_Data_Types#4.3.5___Date-Time +*/ +function extractDateTime($data, $property, $field) { + global $tz_array, $phpiCal_config, $calendar_tz; + $allday =''; #suppress error on returning undef. // Check for zulu time. $zulu_time = false; if (substr($data,-1) == 'Z') $zulu_time = true; - $data = str_replace('Z', '', $data); - - // Remove some substrings we don't want to look at. - $data = str_replace('T', '', $data); - $field = str_replace(';VALUE=DATE-TIME', '', $field); + // Pull out the timezone, or use GMT if zulu time was indicated. + if (preg_match('/^'.$property.';TZID=/i', $field)) { + $tz_tmp = explode('=', $field); + $tz_dt = match_tz($tz_tmp[1]); #echo "$tz_dt<br>"; + } elseif ($zulu_time) { + $tz_dt = 'GMT'; + } // Extract date-only values. - if ((preg_match('/^'.$property.';VALUE=DATE/i', $field)) || (ereg ('^([0-9]{4})([0-9]{2})([0-9]{2})$', $data))) { + if ((preg_match('/^'.$property.';VALUE=DATE:/i', $field)) || (ereg ('^([0-9]{4})([0-9]{2})([0-9]{2})$', $data))) { // Pull out the date value. Minimum year is 1970. ereg ('([0-9]{4})([0-9]{2})([0-9]{2})', $data, $dt_check); if ($dt_check[1] < 1970) { $data = '1971'.$dt_check[2].$dt_check[3]; - } - - // Set the values. - $unixtime = strtotime($data); - $date = date('Ymd', $unixtime); + } + # convert to date-time + $data = $dt_check[1].$dt_check[2].$dt_check[3]."T000000"; $time = ''; $allday = $data; - }else{ // Extract date-time values. - - // Pull out the timezone, or use GMT if zulu time was indicated. - if (preg_match('/^'.$property.';TZID=/i', $field)) { - $tz_tmp = explode('=', $field); - $tz_dt = $tz_tmp[1]; - unset($tz_tmp); - } elseif ($zulu_time) { - $tz_dt = 'GMT'; - } - - // Pull out the date and time values. Minimum year is 1970. - preg_match ('/([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{0,2})([0-9]{0,2})/', $data, $regs); - if ($regs[1] < 1970) { - $regs[1] = '1971'; - } - $date = $regs[1] . $regs[2] . $regs[3]; - $time = $regs[4] . $regs[5]; - $unixtime = mktime($regs[4], $regs[5], 0, $regs[2], $regs[3], $regs[1]); - // Check for daylight savings time. - $dlst = date('I', $unixtime); - $server_offset_tmp = chooseOffset($unixtime, $phpiCal_config->timezone); - if (isset($tz_dt)) { - $offset_tmp = chooseOffset($unixtime, $tz_dt); - } elseif (isset($calendar_tz)) { - $offset_tmp = chooseOffset($unixtime, $calendar_tz); - } else { - $offset_tmp = $server_offset_tmp; - } - // Set the values. - $unixtime = calcTime($offset_tmp, $server_offset_tmp, $unixtime); - $date = date('Ymd', $unixtime); - $time = date('Hi', $unixtime); - } + } + // Extract date-time values. + // Pull out the date and time values. Minimum year is 1970. + preg_match ('/([0-9]{4})([0-9]{2})([0-9]{2})T{0,1}([0-9]{0,2})([0-9]{0,2})/', $data, $regs); + if ($regs[1] < 1970) { + $regs[1] = '1971'; + } + $date = $regs[1] . $regs[2] . $regs[3]; + $time = $regs[4] . $regs[5]; + $unixtime = mktime($regs[4], $regs[5], 0, $regs[2], $regs[3], $regs[1]); + # chooseOffset checks for Daylight Saving Time + $server_offset_tmp = chooseOffset($unixtime, $phpiCal_config->timezone); + if (isset($tz_dt)) { + $offset_tmp = chooseOffset($unixtime, $tz_dt); + } elseif (isset($calendar_tz)) { + $offset_tmp = chooseOffset($unixtime, $calendar_tz); + } else { + $offset_tmp = $server_offset_tmp; + } + // Set the values. + $unixtime = calcTime($offset_tmp, $server_offset_tmp, $unixtime); + #echo "offset_tmp $offset_tmp, server_offset_tmp $server_offset_tmp, $unixtime =".date("Ymd His",$unixtime)." $time<br>"; + $date = date('Ymd', $unixtime); + if ($allday == '') $time = date('Hi', $unixtime); + // Return the results. return array($unixtime, $date, $time, $allday); } + +/* TZIDs in calendars often contain leading information that should be stripped +Example: TZID=/mozilla.org/20050126_1/Europe/Berlin +if this has been set by the parse_tzs scanning the file, then it should be OK, but sometimes a calendar may have a tzid without having defined the vtimezone, expecting a match (This will often happen when users send isolated events in bug reports; the calendars should have vtimezones). + +Need to return the part that matches a key in $tz_array +*/ +function match_tz($data){ + global $tz_array; + if (isset($tz_array[$data])) return $data; + foreach ($tz_array as $key=>$val){ + if (strpos(" $data",$key) > 0) return $key; + } + return $data; +} + +require_once(BASE."functions/is_daylight.php"); +/* function is_daylight($date, $timezone) returns 1 if daylight time, 0 if not + + default is to use the server's date function. This will be off when the timezone's rules are not the same as the server's rules. In php5.2+ there seems to be a better way to do this, but we can't count on users having php5.2+. + + Although we set dt_start and st_start in parse_tzs.php, these are not rrules and I don't know how to use them yet. So we'll do it by brute force for the ones we know about, from: http://www.webexhibits.org/daylightsaving/g.html + + Note that this sends a screwy time value - it's not necessarily UTC unixtime, since the mktime functions that create the time are not using the timezone. + +function is_daylight($time, $timezone){ + global $tz_array; + # default to std time, overwrite if daylight. + $dlst = 0; + switch ($timezone){ + default: + $dlst = date('I', $time); + } + + return $dlst; + +} +*/ ?>
\ No newline at end of file diff --git a/functions/is_daylight.php b/functions/is_daylight.php new file mode 100644 index 0000000..c6f79ef --- /dev/null +++ b/functions/is_daylight.php @@ -0,0 +1,292 @@ +<?php +/* values are offset in hhmm (not seconds!) relative to GMT + case The first value is for standard, and the second value is for daylight +*/ +function is_daylight($time, $timezone){ + global $tz_array, $summary; + # default to std time, overwrite if daylight. + $dlst = 0; + # Subtract the offset for std time. This will be slightly off in some cases, but will be closer than using nothing (?). + $time = $time - calcOffset($tz_array[$timezone][0]); + $year = date("Y", $time); + $month = date("m",$time); + $day = date("d",$time); + $hour = date("H",$time); + switch ($timezone){ + case 'US/Samoa': # array('-1100', '-1100'); + case 'America/Adak': # array('-1000', '-0900'); + case 'America/Atka': + case 'US/Aleutian': + case 'America/Anchorage': # array('-0900', '-0800'); + case 'America/Nome': + case 'US/Alaska': + case 'America/Juneau': + case 'America/Yakutat': + case 'America/Dawson': # array('-0800', '-0700'); + case 'America/Los_Angeles': + case 'America/Vancouver': + case 'America/Whitehorse': + case 'Canada/Pacific': + case 'Canada/Yukon': + case 'PST8PDT': + case 'US/Pacific': + case 'America/Boise': # array('-0700', '-0600'); + case 'America/Cambridge_Bay': + case 'America/Denver': + case 'America/Edmonton': + case 'America/Inuvik': + case 'America/Shiprock': + case 'America/Yellowknife': + case 'Canada/Mountain': + case 'MST7MDT': + case 'Navajo': + case 'US/Mountain': + case 'America/Chicago': # array('-0600', '-0500'); + case 'America/Menominee': + case 'America/Merida': + case 'America/Rainy_River': + case 'America/Rankin_Inlet': + case 'America/Winnipeg': + case 'Canada/Central': + case 'CST6CDT': + case 'US/Central': + case 'America/Detroit': # array('-0500', '-0400'); + case 'America/Grand_Turk': + case 'America/Iqaluit': + case 'America/Kentucky/Louisville': + case 'America/Kentucky/Monticello': + case 'America/Louisville': + case 'America/Montreal': + case 'America/Nassau': + case 'America/New_York': + case 'America/Nipigon': + case 'America/Pangnirtung': + case 'America/Thunder_Bay': + case 'Canada/Eastern': + case 'EST5EDT': + case 'US/Eastern': + case 'US/Michigan': + case 'America/Glace_Bay': # array('-0400', '-0300'); + case 'America/Goose_Bay': + case 'America/Halifax': + case 'America/Thule': + case 'Canada/Atlantic': + case 'America/St_Johns': # array('-0330', '-0230'); + case 'Canada/Newfoundland': + case 'America/Godthab': # array('-0300', '-0200'); + case 'America/Miquelon': + if ($year < 2007){ + $start = strtotime("+1 Sun",strtotime($year."0331")); + $end = strtotime("-1 Sun",strtotime($year."1101")); + }else{ + $start = strtotime("+2 Sun",strtotime($year."0300")); + $end = strtotime("+1 Sun",strtotime($year."1031")); + } + break; + case 'America/Havana': + case 'Cuba': + $start = strtotime("+3 Sun",strtotime($year."0300")); + $end = strtotime("-1 Sun",strtotime($year."1101")); + break; + case 'America/Cancun': + case 'America/Chihuahua': + case 'America/Ensenada': + case 'America/Tijuana': + case 'America/Mexico_City': + case 'America/Monterrey': + case 'Atlantic/Bermuda': + case 'Mexico/BajaSur': + case 'Mexico/BajaNorte': + case 'Mexico/General': + case 'America/Mazatlan': + $start = strtotime("+1 Sun",strtotime($year."0331")); + $end = strtotime("-1 Sun",strtotime($year."1101")); + break; + case 'Chile/EasterIsland': # array('-0500', '-0600'); + case 'Pacific/Easter': + + break; + case 'America/Asuncion': # array('-0300', '-0400'); + case 'America/Cuiaba': + case 'America/Santiago': + case 'Antarctica/Palmer': + case 'Atlantic/Stanley': + case 'Chile/Continental': + + break; + case 'America/Araguaina': # array('-0200', '-0300'); + case 'America/Sao_Paulo': + case 'Brazil/East': + + break; + case 'America/Scoresbysund': # array('-0100', '+0000'); + case 'Atlantic/Azores': + + break; + case 'Atlantic/Canary': # array('+0000', '+0100'); + case 'Atlantic/Faeroe': + case 'Atlantic/Madeira': + case 'Eire': + case 'Europe/Belfast': + case 'Europe/Dublin': + case 'Europe/Lisbon': + case 'Europe/London': + case 'GB-Eire': + case 'GB': + case 'Portugal': + case 'WET': + + break; + case 'Africa/Ceuta': # array('+0100', '+0200'); + case 'Arctic/Longyearbyen': + case 'CET': + case 'Europe/Amsterdam': + case 'Europe/Andorra': + case 'Europe/Belgrade': + case 'Europe/Berlin': + case 'Europe/Bratislava': + case 'Europe/Brussels': + case 'Europe/Budapest': + case 'Europe/Copenhagen': + case 'Europe/Gibraltar': + case 'Europe/Ljubljana': + case 'Europe/Luxembourg': + case 'Europe/Madrid': + case 'Europe/Malta': + case 'Europe/Monaco': + case 'Europe/Oslo': + case 'Europe/Paris': + case 'Europe/Prague': + case 'Europe/Rome': + case 'Europe/San_Marino': + case 'Europe/Sarajevo': + case 'Europe/Skopje': + case 'Europe/Stockholm': + case 'Europe/Tirane': + case 'Europe/Vaduz': + case 'Europe/Vatican': + case 'Europe/Vienna': + case 'Europe/Warsaw': + case 'Europe/Zagreb': + case 'Europe/Zurich': + case 'MET': + case 'Poland': + $start = strtotime("-1 Sun",strtotime($year."0401")); + $end = strtotime("-1 Sun",strtotime($year."1101")); + break; + case 'Africa/Windhoek': # array('+0200', '+0100'); + + break; + case 'Asia/Amman': # array('+0200', '+0300'); + case 'Asia/Beirut': + case 'Asia/Damascus': + case 'Asia/Gaza': + case 'Asia/Istanbul': + case 'Asia/Jerusalem': + case 'Asia/Nicosia': + case 'Asia/Tel_Aviv': + case 'EET': + case 'Egypt': + case 'Europe/Athens': + case 'Europe/Bucharest': + case 'Europe/Chisinau': + case 'Europe/Helsinki': + case 'Europe/Istanbul': + case 'Europe/Kaliningrad': + case 'Europe/Kiev': + case 'Europe/Minsk': + case 'Europe/Nicosia': + case 'Europe/Riga': + case 'Europe/Simferopol': + case 'Europe/Sofia': + case 'Europe/Tiraspol': + case 'Europe/Uzhgorod': + case 'Europe/Zaporozhye': + case 'Israel': + case 'Turkey': + + break; + case 'Asia/Baghdad': # array('+0300', '+0400'); + case 'Europe/Moscow': + case 'W-SU': + + break; + case 'Asia/Tehran': # array('+0330', '+0430'); + case 'Iran': + + break; + case 'Asia/Aqtau': # array('+0400', '+0500'); + case 'Asia/Baku': + case 'Asia/Tbilisi': + case 'Asia/Yerevan': + case 'Europe/Samara': + + break; + case 'Asia/Aqtobe': # array('+0500', '+0600'); + case 'Asia/Bishkek': + case 'Asia/Yekaterinburg': + + break; + case 'Asia/Almaty': # array('+0600', '+0700'); + case 'Asia/Novosibirsk': + case 'Asia/Omsk': + + break; + case 'Asia/Krasnoyarsk': # array('+0700', '+0800'); + + break; + case 'Asia/Irkutsk': # array('+0800', '+0900'); + + break; + case 'Asia/Yakutsk': # array('+0900', '+1000'); + + + break; + case 'Asia/Vladivostok': # array('+1000', '+1100'); + case 'Australia/ACT': + case 'Australia/Melbourne': + case 'Australia/NSW': + case 'Australia/Sydney': + case 'Australia/Tasmania': + case 'Australia/Victoria': + + break; + case 'Australia/Adelaide': # array('+1030', '+0930'); + case 'Australia/Broken_Hill': + case 'Australia/South': + case 'Australia/Yancowinna': + + break; + case 'Asia/Magadan': # array('+1100', '+1200'); + + break; + case 'Australia/LHI': # array('+1100', '+1030'); + case 'Australia/Lord_Howe': + + break; + case 'Australia/Canberra': # array('+1100', '+1000'); + case 'Australia/Hobart': + + break; + case 'Asia/Anadyr': # array('+1200', '+1300'); + case 'Asia/Kamchatka': + + break; + case 'Antarctica/McMurdo': + case 'Antarctica/South_Pole': + case 'NZ': # array('+1300', '+1200'); + case 'Pacific/Auckland': + break; + case 'NZ-CHAT': + case 'Pacific/Chatham': # array('+1345', '+1245'); + break; + default: + $dlst = date('I', $time); + } + if (isset($start,$end) && $time >= $start && $time < $end) $dlst = 1; + echo "$summary $dlst <br>"; + + return $dlst; + +} +?>
\ No newline at end of file diff --git a/functions/parse/end_vevent.php b/functions/parse/end_vevent.php index 1dfe221..5970e65 100644 --- a/functions/parse/end_vevent.php +++ b/functions/parse/end_vevent.php @@ -320,7 +320,6 @@ foreach($recur_data as $recur_data_unixtime) { } else { $start_unixtime_tmp = mktime($recur_data_hour,$recur_data_minute,0,$recur_data_month,$recur_data_day,$recur_data_year); $end_unixtime_tmp = $start_unixtime_tmp + $length; - if (($end_time >= $phpiCal_config->bleed_time) && ($bleed_check == '-1')) { $start_tmp = strtotime(date('Ymd',$start_unixtime_tmp)); $end_date_tmp = date('Ymd',$end_unixtime_tmp); @@ -339,57 +338,18 @@ foreach($recur_data as $recur_data_unixtime) { $end_time_tmp = '2400'; $display_end_tmp = $end_time; } - - // Let's double check the until to not write past it - $until_check = $start_date_tmp.$time_tmp.'00'; - if (@$until > $until_check) { - $master_array[$start_date_tmp][$time_tmp][$uid] = array ( - 'event_start' => $start_time_tmp, - 'event_end' => $end_time_tmp, - 'start_unixtime' => $start_unixtime_tmp, - 'end_unixtime' => $end_unixtime_tmp, - 'event_text' => $summary, - 'event_length' => $length, - 'event_overlap' => 0, - 'description' => $description, - 'status' => $status, - 'class' => $class, - 'spans_day' => true, - 'location' => $location, - 'organizer' => serialize($organizer), - 'attendee' => serialize($attendee), - 'calnumber' => $calnumber, - 'calname' => $actual_calname, - 'url' => $url, - 'recur' => $recur); - if (isset($display_end_tmp)){ - $master_array[$start_date_tmp][$time_tmp][$uid]['display_end'] = $display_end_tmp; - } - checkOverlap($start_date_tmp, $time_tmp, $uid); - } - $start_tmp = strtotime('+1 day',$start_tmp); - } - } else { - if ($bleed_check == '-1') { - $display_end_tmp = $end_time; - $end_time_tmp1 = '2400'; - - } - if (!isset($end_time_tmp1)) $end_time_tmp1 = $end_time; - - // Let's double check the until to not write past it - $master_array[($recur_data_date)][($hour.$minute)][$uid] = array ( - 'event_start' => $start_time, - 'event_end' => $end_time_tmp1, + $master_array[$start_date_tmp][$time_tmp][$uid] = array ( + 'event_start' => $start_time_tmp, + 'event_end' => $end_time_tmp, 'start_unixtime' => $start_unixtime_tmp, 'end_unixtime' => $end_unixtime_tmp, - 'event_text' => $summary, + 'event_text' => $summary, # 'event_length' => $length, 'event_overlap' => 0, 'description' => $description, 'status' => $status, 'class' => $class, - 'spans_day' => false, + 'spans_day' => true, 'location' => $location, 'organizer' => serialize($organizer), 'attendee' => serialize($attendee), @@ -398,9 +358,41 @@ foreach($recur_data as $recur_data_unixtime) { 'url' => $url, 'recur' => $recur); if (isset($display_end_tmp)){ - $master_array[($recur_data_date)][($hour.$minute)][$uid]['display_end'] = $display_end_tmp; + $master_array[$start_date_tmp][$time_tmp][$uid]['display_end'] = $display_end_tmp; } - checkOverlap($recur_data_date, ($hour.$minute), $uid); + checkOverlap($start_date_tmp, $time_tmp, $uid); + $start_tmp = strtotime('+1 day',$start_tmp); + } + } else { + if ($bleed_check == '-1') { + $display_end_tmp = $end_time; + $end_time_tmp1 = '2400'; + + } + if (!isset($end_time_tmp1)) $end_time_tmp1 = $end_time; + $master_array[($recur_data_date)][($hour.$minute)][$uid] = array ( + 'event_start' => $start_time, + 'event_end' => $end_time_tmp1, + 'start_unixtime' => $start_unixtime_tmp, + 'end_unixtime' => $end_unixtime_tmp, + 'event_text' => $summary, + 'event_length' => $length, + 'event_overlap' => 0, + 'description' => $description, + 'status' => $status, + 'class' => $class, + 'spans_day' => false, + 'location' => $location, + 'organizer' => serialize($organizer), + 'attendee' => serialize($attendee), + 'calnumber' => $calnumber, + 'calname' => $actual_calname, + 'url' => $url, + 'recur' => $recur); + if (isset($display_end_tmp)){ + $master_array[($recur_data_date)][($hour.$minute)][$uid]['display_end'] = $display_end_tmp; + } + checkOverlap($recur_data_date, ($hour.$minute), $uid); } } diff --git a/functions/parse/recur_functions.php b/functions/parse/recur_functions.php index e45f4aa..6a58d2d 100644 --- a/functions/parse/recur_functions.php +++ b/functions/parse/recur_functions.php @@ -28,6 +28,7 @@ function add_recur($times,$freq=''){ if (!is_array($times)) $times = array($times); /*BYMONTH, BYWEEKNO, BYYEARDAY, BYMONTHDAY, BYDAY, BYHOUR, BYMINUTE, BYSECOND and BYSETPOS*/ +#dump_times($times); $times = restrict_bymonth($times,$freq); # $times = restrict_byweekno($times,$freq); $times = restrict_byyearday($times,$freq); @@ -253,6 +254,6 @@ function dump_times($times){ global $summary; echo "<pre>$summary times:"; #var_dump($times); - foreach($times as $time) echo "\ndate:".date("Ymd his",$time); + foreach($times as $time) echo "\ndate:".date("Y-m-d H:i:s",$time); echo "</pre>"; } diff --git a/functions/timezones.php b/functions/timezones.php index 5c27a02..ae140f0 100644 --- a/functions/timezones.php +++ b/functions/timezones.php @@ -1,489 +1,491 @@ <?php -$tz_array['Africa/Addis_Ababa'] = array('+0300', '+0300'); -$tz_array['Africa/Algiers'] = array('+0100', '+0100'); -$tz_array['Africa/Asmera'] = array('+0300', '+0300'); -$tz_array['Africa/Bangui'] = array('+0100', '+0100'); -$tz_array['Africa/Blantyre'] = array('+0200', '+0200'); -$tz_array['Africa/Brazzaville'] = array('+0100', '+0100'); -$tz_array['Africa/Bujumbura'] = array('+0200', '+0200'); -$tz_array['Africa/Cairo'] = array('+0200', '+0300'); -$tz_array['Africa/Ceuta'] = array('+0100', '+0200'); -$tz_array['Africa/Dar_es_Salaam'] = array('+0300', '+0300'); -$tz_array['Africa/Djibouti'] = array('+0300', '+0300'); -$tz_array['Africa/Douala'] = array('+0100', '+0100'); -$tz_array['Africa/Gaborone'] = array('+0200', '+0200'); -$tz_array['Africa/Harare'] = array('+0200', '+0200'); -$tz_array['Africa/Johannesburg'] = array('+0200', '+0200'); -$tz_array['Africa/Kampala'] = array('+0300', '+0300'); -$tz_array['Africa/Khartoum'] = array('+0300', '+0300'); -$tz_array['Africa/Kigali'] = array('+0200', '+0200'); -$tz_array['Africa/Kinshasa'] = array('+0100', '+0100'); -$tz_array['Africa/Lagos'] = array('+0100', '+0100'); -$tz_array['Africa/Libreville'] = array('+0100', '+0100'); -$tz_array['Africa/Luanda'] = array('+0100', '+0100'); -$tz_array['Africa/Lubumbashi'] = array('+0200', '+0200'); -$tz_array['Africa/Lusaka'] = array('+0200', '+0200'); -$tz_array['Africa/Malabo'] = array('+0100', '+0100'); -$tz_array['Africa/Maputo'] = array('+0200', '+0200'); -$tz_array['Africa/Maseru'] = array('+0200', '+0200'); -$tz_array['Africa/Mbabane'] = array('+0200', '+0200'); -$tz_array['Africa/Mogadishu'] = array('+0300', '+0300'); -$tz_array['Africa/Nairobi'] = array('+0300', '+0300'); -$tz_array['Africa/Ndjamena'] = array('+0100', '+0100'); -$tz_array['Africa/Niamey'] = array('+0100', '+0100'); -$tz_array['Africa/Porto-Novo'] = array('+0100', '+0100'); -$tz_array['Africa/Tripoli'] = array('+0200', '+0200'); -$tz_array['Africa/Tunis'] = array('+0100', '+0100'); -$tz_array['Africa/Windhoek'] = array('+0200', '+0100'); -$tz_array['America/Adak'] = array('-1000', '-0900'); -$tz_array['America/Anchorage'] = array('-0900', '-0800'); -$tz_array['America/Anguilla'] = array('-0400', '-0400'); -$tz_array['America/Antigua'] = array('-0400', '-0400'); -$tz_array['America/Araguaina'] = array('-0200', '-0300'); -$tz_array['America/Aruba'] = array('-0400', '-0400'); -$tz_array['America/Asuncion'] = array('-0300', '-0400'); -$tz_array['America/Atka'] = array('-1000', '-0900'); -$tz_array['America/Barbados'] = array('-0400', '-0400'); -$tz_array['America/Belem'] = array('-0300', '-0300'); -$tz_array['America/Belize'] = array('-0600', '-0600'); -$tz_array['America/Boa_Vista'] = array('-0400', '-0400'); -$tz_array['America/Bogota'] = array('-0500', '-0500'); -$tz_array['America/Boise'] = array('-0700', '-0600'); -$tz_array['America/Buenos_Aires'] = array('-0300', '-0300'); -$tz_array['America/Cambridge_Bay'] = array('-0700', '-0600'); -$tz_array['America/Cancun'] = array('-0600', '-0500'); -$tz_array['America/Caracas'] = array('-0400', '-0400'); -$tz_array['America/Catamarca'] = array('-0300', '-0300'); -$tz_array['America/Cayenne'] = array('-0300', '-0300'); -$tz_array['America/Cayman'] = array('-0500', '-0500'); -$tz_array['America/Chicago'] = array('-0600', '-0500'); -$tz_array['America/Chihuahua'] = array('-0700', '-0600'); -$tz_array['America/Cordoba'] = array('-0300', '-0300'); -$tz_array['America/Costa_Rica'] = array('-0600', '-0600'); -$tz_array['America/Cuiaba'] = array('-0300', '-0400'); -$tz_array['America/Curacao'] = array('-0400', '-0400'); -$tz_array['America/Dawson'] = array('-0800', '-0700'); -$tz_array['America/Dawson_Creek'] = array('-0700', '-0700'); -$tz_array['America/Denver'] = array('-0700', '-0600'); -$tz_array['America/Detroit'] = array('-0500', '-0400'); -$tz_array['America/Dominica'] = array('-0400', '-0400'); -$tz_array['America/Edmonton'] = array('-0700', '-0600'); -$tz_array['America/Eirunepe'] = array('-0500', '-0500'); -$tz_array['America/El_Salvador'] = array('-0600', '-0600'); -$tz_array['America/Ensenada'] = array('-0800', '-0700'); -$tz_array['America/Fort_Wayne'] = array('-0500', '-0500'); -$tz_array['America/Fortaleza'] = array('-0300', '-0300'); -$tz_array['America/Glace_Bay'] = array('-0400', '-0300'); -$tz_array['America/Godthab'] = array('-0300', '-0200'); -$tz_array['America/Goose_Bay'] = array('-0400', '-0300'); -$tz_array['America/Grand_Turk'] = array('-0500', '-0400'); -$tz_array['America/Grenada'] = array('-0400', '-0400'); -$tz_array['America/Guadeloupe'] = array('-0400', '-0400'); -$tz_array['America/Guatemala'] = array('-0600', '-0600'); -$tz_array['America/Guayaquil'] = array('-0500', '-0500'); -$tz_array['America/Guyana'] = array('-0400', '-0400'); -$tz_array['America/Halifax'] = array('-0400', '-0300'); -$tz_array['America/Havana'] = array('-0500', '-0400'); -$tz_array['America/Hermosillo'] = array('-0700', '-0700'); -$tz_array['America/Indiana/Indianapolis'] = array('-0500', '-0500'); -$tz_array['America/Indiana/Knox'] = array('-0500', '-0500'); -$tz_array['America/Indiana/Marengo'] = array('-0500', '-0500'); -$tz_array['America/Indiana/Vevay'] = array('-0500', '-0500'); -$tz_array['America/Indianapolis'] = array('-0500', '-0500'); -$tz_array['America/Inuvik'] = array('-0700', '-0600'); -$tz_array['America/Iqaluit'] = array('-0500', '-0400'); -$tz_array['America/Jamaica'] = array('-0500', '-0500'); -$tz_array['America/Jujuy'] = array('-0300', '-0300'); -$tz_array['America/Juneau'] = array('-0900', '-0800'); -$tz_array['America/Kentucky/Louisville'] = array('-0500', '-0400'); -$tz_array['America/Kentucky/Monticello'] = array('-0500', '-0400'); -$tz_array['America/Knox_IN'] = array('-0500', '-0500'); -$tz_array['America/La_Paz'] = array('-0400', '-0400'); -$tz_array['America/Lima'] = array('-0500', '-0500'); -$tz_array['America/Los_Angeles'] = array('-0800', '-0700'); -$tz_array['America/Louisville'] = array('-0500', '-0400'); -$tz_array['America/Maceio'] = array('-0300', '-0300'); -$tz_array['America/Managua'] = array('-0600', '-0600'); -$tz_array['America/Manaus'] = array('-0400', '-0400'); -$tz_array['America/Martinique'] = array('-0400', '-0400'); -$tz_array['America/Mazatlan'] = array('-0700', '-0600'); -$tz_array['America/Mendoza'] = array('-0300', '-0300'); -$tz_array['America/Menominee'] = array('-0600', '-0500'); -$tz_array['America/Merida'] = array('-0600', '-0500'); -$tz_array['America/Mexico_City'] = array('-0600', '-0500'); -$tz_array['America/Miquelon'] = array('-0300', '-0200'); -$tz_array['America/Monterrey'] = array('-0600', '-0500'); -$tz_array['America/Montevideo'] = array('-0300', '-0300'); -$tz_array['America/Montreal'] = array('-0500', '-0400'); -$tz_array['America/Montserrat'] = array('-0400', '-0400'); -$tz_array['America/Nassau'] = array('-0500', '-0400'); -$tz_array['America/New_York'] = array('-0500', '-0400'); -$tz_array['America/Nipigon'] = array('-0500', '-0400'); -$tz_array['America/Nome'] = array('-0900', '-0800'); -$tz_array['America/Noronha'] = array('-0200', '-0200'); -$tz_array['America/Panama'] = array('-0500', '-0500'); -$tz_array['America/Pangnirtung'] = array('-0500', '-0400'); -$tz_array['America/Paramaribo'] = array('-0300', '-0300'); -$tz_array['America/Phoenix'] = array('-0700', '-0700'); -$tz_array['America/Port-au-Prince'] = array('-0500', '-0500'); -$tz_array['America/Port_of_Spain'] = array('-0400', '-0400'); -$tz_array['America/Porto_Acre'] = array('-0500', '-0500'); -$tz_array['America/Porto_Velho'] = array('-0400', '-0400'); -$tz_array['America/Puerto_Rico'] = array('-0400', '-0400'); -$tz_array['America/Rainy_River'] = array('-0600', '-0500'); -$tz_array['America/Rankin_Inlet'] = array('-0600', '-0500'); -$tz_array['America/Recife'] = array('-0300', '-0300'); -$tz_array['America/Regina'] = array('-0600', '-0600'); -$tz_array['America/Rio_Branco'] = array('-0500', '-0500'); -$tz_array['America/Rosario'] = array('-0300', '-0300'); -$tz_array['America/Santiago'] = array('-0300', '-0400'); -$tz_array['America/Santo_Domingo'] = array('-0400', '-0400'); -$tz_array['America/Sao_Paulo'] = array('-0200', '-0300'); -$tz_array['America/Scoresbysund'] = array('-0100', '+0000'); -$tz_array['America/Shiprock'] = array('-0700', '-0600'); -$tz_array['America/St_Johns'] = array('-031800', '-021800'); -$tz_array['America/St_Kitts'] = array('-0400', '-0400'); -$tz_array['America/St_Lucia'] = array('-0400', '-0400'); -$tz_array['America/St_Thomas'] = array('-0400', '-0400'); -$tz_array['America/St_Vincent'] = array('-0400', '-0400'); -$tz_array['America/Swift_Current'] = array('-0600', '-0600'); -$tz_array['America/Tegucigalpa'] = array('-0600', '-0600'); -$tz_array['America/Thule'] = array('-0400', '-0300'); -$tz_array['America/Thunder_Bay'] = array('-0500', '-0400'); -$tz_array['America/Tijuana'] = array('-0800', '-0700'); -$tz_array['America/Tortola'] = array('-0400', '-0400'); -$tz_array['America/Vancouver'] = array('-0800', '-0700'); -$tz_array['America/Virgin'] = array('-0400', '-0400'); -$tz_array['America/Whitehorse'] = array('-0800', '-0700'); -$tz_array['America/Winnipeg'] = array('-0600', '-0500'); -$tz_array['America/Yakutat'] = array('-0900', '-0800'); -$tz_array['America/Yellowknife'] = array('-0700', '-0600'); -$tz_array['Antarctica/Casey'] = array('+0800', '+0800'); -$tz_array['Antarctica/Davis'] = array('+0700', '+0700'); -$tz_array['Antarctica/DumontDUrville'] = array('+1000', '+1000'); -$tz_array['Antarctica/Mawson'] = array('+0600', '+0600'); -$tz_array['Antarctica/McMurdo'] = array('+1300', '+1200'); -$tz_array['Antarctica/Palmer'] = array('-0300', '-0400'); -$tz_array['Antarctica/South_Pole'] = array('+1300', '+1200'); -$tz_array['Antarctica/Syowa'] = array('+0300', '+0300'); -$tz_array['Antarctica/Vostok'] = array('+0600', '+0600'); -$tz_array['Arctic/Longyearbyen'] = array('+0100', '+0200'); -$tz_array['Asia/Aden'] = array('+0300', '+0300'); -$tz_array['Asia/Almaty'] = array('+0600', '+0700'); -$tz_array['Asia/Amman'] = array('+0200', '+0300'); -$tz_array['Asia/Anadyr'] = array('+1200', '+1300'); -$tz_array['Asia/Aqtau'] = array('+0400', '+0500'); -$tz_array['Asia/Aqtobe'] = array('+0500', '+0600'); -$tz_array['Asia/Ashgabat'] = array('+0500', '+0500'); -$tz_array['Asia/Ashkhabad'] = array('+0500', '+0500'); -$tz_array['Asia/Baghdad'] = array('+0300', '+0400'); -$tz_array['Asia/Bahrain'] = array('+0300', '+0300'); -$tz_array['Asia/Baku'] = array('+0400', '+0500'); -$tz_array['Asia/Bangkok'] = array('+0700', '+0700'); -$tz_array['Asia/Beirut'] = array('+0200', '+0300'); -$tz_array['Asia/Bishkek'] = array('+0500', '+0600'); -$tz_array['Asia/Brunei'] = array('+0800', '+0800'); -$tz_array['Asia/Calcutta'] = array('+051800', '+051800'); -$tz_array['Asia/Chungking'] = array('+0800', '+0800'); -$tz_array['Asia/Colombo'] = array('+0600', '+0600'); -$tz_array['Asia/Dacca'] = array('+0600', '+0600'); -$tz_array['Asia/Damascus'] = array('+0200', '+0300'); -$tz_array['Asia/Dhaka'] = array('+0600', '+0600'); -$tz_array['Asia/Dili'] = array('+0900', '+0900'); -$tz_array['Asia/Dubai'] = array('+0400', '+0400'); -$tz_array['Asia/Dushanbe'] = array('+0500', '+0500'); -$tz_array['Asia/Gaza'] = array('+0200', '+0300'); -$tz_array['Asia/Harbin'] = array('+0800', '+0800'); -$tz_array['Asia/Hong_Kong'] = array('+0800', '+0800'); -$tz_array['Asia/Hovd'] = array('+0700', '+0700'); -$tz_array['Asia/Irkutsk'] = array('+0800', '+0900'); -$tz_array['Asia/Istanbul'] = array('+0200', '+0300'); -$tz_array['Asia/Jakarta'] = array('+0700', '+0700'); -$tz_array['Asia/Jayapura'] = array('+0900', '+0900'); -$tz_array['Asia/Jerusalem'] = array('+0200', '+0300'); -$tz_array['Asia/Kabul'] = array('+041800', '+041800'); -$tz_array['Asia/Kamchatka'] = array('+1200', '+1300'); -$tz_array['Asia/Karachi'] = array('+0500', '+0500'); -$tz_array['Asia/Kashgar'] = array('+0800', '+0800'); -$tz_array['Asia/Katmandu'] = array('+052700', '+052700'); -$tz_array['Asia/Krasnoyarsk'] = array('+0700', '+0800'); -$tz_array['Asia/Kuala_Lumpur'] = array('+0800', '+0800'); -$tz_array['Asia/Kuching'] = array('+0800', '+0800'); -$tz_array['Asia/Kuwait'] = array('+0300', '+0300'); -$tz_array['Asia/Macao'] = array('+0800', '+0800'); -$tz_array['Asia/Magadan'] = array('+1100', '+1200'); -$tz_array['Asia/Manila'] = array('+0800', '+0800'); -$tz_array['Asia/Muscat'] = array('+0400', '+0400'); -$tz_array['Asia/Nicosia'] = array('+0200', '+0300'); -$tz_array['Asia/Novosibirsk'] = array('+0600', '+0700'); -$tz_array['Asia/Omsk'] = array('+0600', '+0700'); -$tz_array['Asia/Phnom_Penh'] = array('+0700', '+0700'); -$tz_array['Asia/Pyongyang'] = array('+0900', '+0900'); -$tz_array['Asia/Qatar'] = array('+0300', '+0300'); -$tz_array['Asia/Rangoon'] = array('+061800', '+061800'); -$tz_array['Asia/Riyadh'] = array('+0300', '+0300'); -$tz_array['Asia/Riyadh87'] = array('+03424', '+03424'); -$tz_array['Asia/Riyadh88'] = array('+03424', '+03424'); -$tz_array['Asia/Riyadh89'] = array('+03424', '+03424'); -$tz_array['Asia/Saigon'] = array('+0700', '+0700'); -$tz_array['Asia/Samarkand'] = array('+0500', '+0500'); -$tz_array['Asia/Seoul'] = array('+0900', '+0900'); -$tz_array['Asia/Shanghai'] = array('+0800', '+0800'); -$tz_array['Asia/Singapore'] = array('+0800', '+0800'); -$tz_array['Asia/Taipei'] = array('+0800', '+0800'); -$tz_array['Asia/Tashkent'] = array('+0500', '+0500'); -$tz_array['Asia/Tbilisi'] = array('+0400', '+0500'); -$tz_array['Asia/Tehran'] = array('+031800', '+041800'); -$tz_array['Asia/Tel_Aviv'] = array('+0200', '+0300'); -$tz_array['Asia/Thimbu'] = array('+0600', '+0600'); -$tz_array['Asia/Thimphu'] = array('+0600', '+0600'); -$tz_array['Asia/Tokyo'] = array('+0900', '+0900'); -$tz_array['Asia/Ujung_Pandang'] = array('+0800', '+0800'); -$tz_array['Asia/Ulaanbaatar'] = array('+0800', '+0800'); -$tz_array['Asia/Ulan_Bator'] = array('+0800', '+0800'); -$tz_array['Asia/Urumqi'] = array('+0800', '+0800'); -$tz_array['Asia/Vientiane'] = array('+0700', '+0700'); -$tz_array['Asia/Vladivostok'] = array('+1000', '+1100'); -$tz_array['Asia/Yakutsk'] = array('+0900', '+1000'); -$tz_array['Asia/Yekaterinburg'] = array('+0500', '+0600'); -$tz_array['Asia/Yerevan'] = array('+0400', '+0500'); -$tz_array['Atlantic/Azores'] = array('-0100', '+0000'); -$tz_array['Atlantic/Bermuda'] = array('-0400', '-0300'); -$tz_array['Atlantic/Canary'] = array('+0000', '+0100'); -$tz_array['Atlantic/Cape_Verde'] = array('-0100', '-0100'); -$tz_array['Atlantic/Faeroe'] = array('+0000', '+0100'); -$tz_array['Atlantic/Jan_Mayen'] = array('-0100', '-0100'); -$tz_array['Atlantic/Madeira'] = array('+0000', '+0100'); -$tz_array['Atlantic/South_Georgia'] = array('-0200', '-0200'); -$tz_array['Atlantic/Stanley'] = array('-0300', '-0400'); -$tz_array['Australia/ACT'] = array('+1000', '+1100'); -$tz_array['Australia/Adelaide'] = array('+101800', '+091800'); -$tz_array['Australia/Brisbane'] = array('+1000', '+1000'); -$tz_array['Australia/Broken_Hill'] = array('+101800', '+091800'); -$tz_array['Australia/Canberra'] = array('+1100', '+1000'); -$tz_array['Australia/Darwin'] = array('+091800', '+091800'); -$tz_array['Australia/Hobart'] = array('+1100', '+1000'); -$tz_array['Australia/LHI'] = array('+1100', '+101800'); -$tz_array['Australia/Lindeman'] = array('+1000', '+1000'); -$tz_array['Australia/Lord_Howe'] = array('+1100', '+101800'); -$tz_array['Australia/Melbourne'] = array('+1000', '+1100'); -$tz_array['Australia/NSW'] = array('+1000', '+1100'); -$tz_array['Australia/North'] = array('+091800', '+091800'); -$tz_array['Australia/Perth'] = array('+0800', '+0800'); -$tz_array['Australia/Queensland'] = array('+1000', '+1000'); -$tz_array['Australia/South'] = array('+101800', '+091800'); -$tz_array['Australia/Sydney'] = array('+1000', '+1100'); -$tz_array['Australia/Tasmania'] = array('+1000', '+1100'); -$tz_array['Australia/Victoria'] = array('+1000', '+1100'); -$tz_array['Australia/West'] = array('+0800', '+0800'); -$tz_array['Australia/Yancowinna'] = array('+101800', '+091800'); -$tz_array['Brazil/Acre'] = array('-0500', '-0500'); -$tz_array['Brazil/DeNoronha'] = array('-0200', '-0200'); -$tz_array['Brazil/East'] = array('-0200', '-0300'); -$tz_array['Brazil/West'] = array('-0400', '-0400'); -$tz_array['CET'] = array('+0100', '+0200'); -$tz_array['CST6CDT'] = array('-0600', '-0500'); -$tz_array['Canada/Atlantic'] = array('-0400', '-0300'); -$tz_array['Canada/Central'] = array('-0600', '-0500'); -$tz_array['Canada/East-Saskatchewan'] = array('-0600', '-0600'); -$tz_array['Canada/Eastern'] = array('-0500', '-0400'); -$tz_array['Canada/Mountain'] = array('-0700', '-0600'); -$tz_array['Canada/Newfoundland'] = array('-031800', '-021800'); -$tz_array['Canada/Pacific'] = array('-0800', '-0700'); -$tz_array['Canada/Saskatchewan'] = array('-0600', '-0600'); -$tz_array['Canada/Yukon'] = array('-0800', '-0700'); -$tz_array['Chile/Continental'] = array('-0300', '-0400'); -$tz_array['Chile/EasterIsland'] = array('-0500', '-0600'); -$tz_array['Cuba'] = array('-0500', '-0400'); -$tz_array['EET'] = array('+0200', '+0300'); -$tz_array['EST'] = array('-0500', '-0500'); -$tz_array['EST5EDT'] = array('-0500', '-0400'); -$tz_array['Egypt'] = array('+0200', '+0300'); -$tz_array['Eire'] = array('+0000', '+0100'); -$tz_array['Etc/GMT+1'] = array('-0100', '-0100'); -$tz_array['Etc/GMT+10'] = array('-1000', '-1000'); -$tz_array['Etc/GMT+11'] = array('-1100', '-1100'); -$tz_array['Etc/GMT+12'] = array('-1200', '-1200'); -$tz_array['Etc/GMT+2'] = array('-0200', '-0200'); -$tz_array['Etc/GMT+3'] = array('-0300', '-0300'); -$tz_array['Etc/GMT+4'] = array('-0400', '-0400'); -$tz_array['Etc/GMT+5'] = array('-0500', '-0500'); -$tz_array['Etc/GMT+6'] = array('-0600', '-0600'); -$tz_array['Etc/GMT+7'] = array('-0700', '-0700'); -$tz_array['Etc/GMT+8'] = array('-0800', '-0800'); -$tz_array['Etc/GMT+9'] = array('-0900', '-0900'); -$tz_array['Etc/GMT-1'] = array('+0100', '+0100'); -$tz_array['Etc/GMT-10'] = array('+1000', '+1000'); -$tz_array['Etc/GMT-11'] = array('+1100', '+1100'); -$tz_array['Etc/GMT-12'] = array('+1200', '+1200'); -$tz_array['Etc/GMT-13'] = array('+1300', '+1300'); -$tz_array['Etc/GMT-14'] = array('+1400', '+1400'); -$tz_array['Etc/GMT-2'] = array('+0200', '+0200'); -$tz_array['Etc/GMT-3'] = array('+0300', '+0300'); -$tz_array['Etc/GMT-4'] = array('+0400', '+0400'); -$tz_array['Etc/GMT-5'] = array('+0500', '+0500'); -$tz_array['Etc/GMT-6'] = array('+0600', '+0600'); -$tz_array['Etc/GMT-7'] = array('+0700', '+0700'); -$tz_array['Etc/GMT-8'] = array('+0800', '+0800'); -$tz_array['Etc/GMT-9'] = array('+0900', '+0900'); -$tz_array['Europe/Amsterdam'] = array('+0100', '+0200'); -$tz_array['Europe/Andorra'] = array('+0100', '+0200'); -$tz_array['Europe/Athens'] = array('+0200', '+0300'); -$tz_array['Europe/Belfast'] = array('+0000', '+0100'); -$tz_array['Europe/Belgrade'] = array('+0100', '+0200'); -$tz_array['Europe/Berlin'] = array('+0100', '+0200'); -$tz_array['Europe/Bratislava'] = array('+0100', '+0200'); -$tz_array['Europe/Brussels'] = array('+0100', '+0200'); -$tz_array['Europe/Bucharest'] = array('+0200', '+0300'); -$tz_array['Europe/Budapest'] = array('+0100', '+0200'); -$tz_array['Europe/Chisinau'] = array('+0200', '+0300'); -$tz_array['Europe/Copenhagen'] = array('+0100', '+0200'); -$tz_array['Europe/Dublin'] = array('+0000', '+0100'); -$tz_array['Europe/Gibraltar'] = array('+0100', '+0200'); -$tz_array['Europe/Helsinki'] = array('+0200', '+0300'); -$tz_array['Europe/Istanbul'] = array('+0200', '+0300'); -$tz_array['Europe/Kaliningrad'] = array('+0200', '+0300'); -$tz_array['Europe/Kiev'] = array('+0200', '+0300'); -$tz_array['Europe/Lisbon'] = array('+0000', '+0100'); -$tz_array['Europe/Ljubljana'] = array('+0100', '+0200'); -$tz_array['Europe/London'] = array('+0000', '+0100'); -$tz_array['Europe/Luxembourg'] = array('+0100', '+0200'); -$tz_array['Europe/Madrid'] = array('+0100', '+0200'); -$tz_array['Europe/Malta'] = array('+0100', '+0200'); -$tz_array['Europe/Minsk'] = array('+0200', '+0300'); -$tz_array['Europe/Monaco'] = array('+0100', '+0200'); -$tz_array['Europe/Moscow'] = array('+0300', '+0400'); -$tz_array['Europe/Nicosia'] = array('+0200', '+0300'); -$tz_array['Europe/Oslo'] = array('+0100', '+0200'); -$tz_array['Europe/Paris'] = array('+0100', '+0200'); -$tz_array['Europe/Prague'] = array('+0100', '+0200'); -$tz_array['Europe/Riga'] = array('+0200', '+0300'); -$tz_array['Europe/Rome'] = array('+0100', '+0200'); -$tz_array['Europe/Samara'] = array('+0400', '+0500'); -$tz_array['Europe/San_Marino'] = array('+0100', '+0200'); -$tz_array['Europe/Sarajevo'] = array('+0100', '+0200'); -$tz_array['Europe/Simferopol'] = array('+0200', '+0300'); -$tz_array['Europe/Skopje'] = array('+0100', '+0200'); -$tz_array['Europe/Sofia'] = array('+0200', '+0300'); -$tz_array['Europe/Stockholm'] = array('+0100', '+0200'); -$tz_array['Europe/Tallinn'] = array('+0200', '+0200'); -$tz_array['Europe/Tirane'] = array('+0100', '+0200'); -$tz_array['Europe/Tiraspol'] = array('+0200', '+0300'); -$tz_array['Europe/Uzhgorod'] = array('+0200', '+0300'); -$tz_array['Europe/Vaduz'] = array('+0100', '+0200'); -$tz_array['Europe/Vatican'] = array('+0100', '+0200'); -$tz_array['Europe/Vienna'] = array('+0100', '+0200'); -$tz_array['Europe/Vilnius'] = array('+0200', '+0200'); -$tz_array['Europe/Warsaw'] = array('+0100', '+0200'); -$tz_array['Europe/Zagreb'] = array('+0100', '+0200'); -$tz_array['Europe/Zaporozhye'] = array('+0200', '+0300'); -$tz_array['Europe/Zurich'] = array('+0100', '+0200'); -$tz_array['GB'] = array('+0000', '+0100'); -$tz_array['GB-Eire'] = array('+0000', '+0100'); -$tz_array['HST'] = array('-1000', '-1000'); -$tz_array['Hongkong'] = array('+0800', '+0800'); -$tz_array['Indian/Antananarivo'] = array('+0300', '+0300'); -$tz_array['Indian/Chagos'] = array('+0500', '+0500'); -$tz_array['Indian/Christmas'] = array('+0700', '+0700'); -$tz_array['Indian/Cocos'] = array('+061800', '+061800'); -$tz_array['Indian/Comoro'] = array('+0300', '+0300'); -$tz_array['Indian/Kerguelen'] = array('+0500', '+0500'); -$tz_array['Indian/Mahe'] = array('+0400', '+0400'); -$tz_array['Indian/Maldives'] = array('+0500', '+0500'); -$tz_array['Indian/Mauritius'] = array('+0400', '+0400'); -$tz_array['Indian/Mayotte'] = array('+0300', '+0300'); -$tz_array['Indian/Reunion'] = array('+0400', '+0400'); -$tz_array['Iran'] = array('+031800', '+041800'); -$tz_array['Israel'] = array('+0200', '+0300'); -$tz_array['Jamaica'] = array('-0500', '-0500'); -$tz_array['Japan'] = array('+0900', '+0900'); -$tz_array['Kwajalein'] = array('+1200', '+1200'); -$tz_array['Libya'] = array('+0200', '+0200'); -$tz_array['MET'] = array('+0100', '+0200'); -$tz_array['MST'] = array('-0700', '-0700'); -$tz_array['MST7MDT'] = array('-0700', '-0600'); -$tz_array['Mexico/BajaNorte'] = array('-0800', '-0700'); -$tz_array['Mexico/BajaSur'] = array('-0700', '-0600'); -$tz_array['Mexico/General'] = array('-0600', '-0500'); -$tz_array['Mideast/Riyadh87'] = array('+03424', '+03424'); -$tz_array['Mideast/Riyadh88'] = array('+03424', '+03424'); -$tz_array['Mideast/Riyadh89'] = array('+03424', '+03424'); -$tz_array['NZ'] = array('+1300', '+1200'); -$tz_array['NZ-CHAT'] = array('+132700', '+122700'); -$tz_array['Navajo'] = array('-0700', '-0600'); -$tz_array['PRC'] = array('+0800', '+0800'); -$tz_array['PST8PDT'] = array('-0800', '-0700'); -$tz_array['Pacific/Apia'] = array('-1100', '-1100'); -$tz_array['Pacific/Auckland'] = array('+1300', '+1200'); -$tz_array['Pacific/Chatham'] = array('+132700', '+122700'); -$tz_array['Pacific/Easter'] = array('-0500', '-0600'); -$tz_array['Pacific/Efate'] = array('+1100', '+1100'); -$tz_array['Pacific/Enderbury'] = array('+1300', '+1300'); -$tz_array['Pacific/Fakaofo'] = array('-1000', '-1000'); -$tz_array['Pacific/Fiji'] = array('+1200', '+1200'); -$tz_array['Pacific/Funafuti'] = array('+1200', '+1200'); -$tz_array['Pacific/Galapagos'] = array('-0600', '-0600'); -$tz_array['Pacific/Gambier'] = array('-0900', '-0900'); -$tz_array['Pacific/Guadalcanal'] = array('+1100', '+1100'); -$tz_array['Pacific/Guam'] = array('+1000', '+1000'); -$tz_array['Pacific/Honolulu'] = array('-1000', '-1000'); -$tz_array['Pacific/Johnston'] = array('-1000', '-1000'); -$tz_array['Pacific/Kiritimati'] = array('+1400', '+1400'); -$tz_array['Pacific/Kosrae'] = array('+1100', '+1100'); -$tz_array['Pacific/Kwajalein'] = array('+1200', '+1200'); -$tz_array['Pacific/Majuro'] = array('+1200', '+1200'); -$tz_array['Pacific/Marquesas'] = array('-091800', '-091800'); -$tz_array['Pacific/Midway'] = array('-1100', '-1100'); -$tz_array['Pacific/Nauru'] = array('+1200', '+1200'); -$tz_array['Pacific/Niue'] = array('-1100', '-1100'); -$tz_array['Pacific/Norfolk'] = array('+111800', '+111800'); -$tz_array['Pacific/Noumea'] = array('+1100', '+1100'); -$tz_array['Pacific/Pago_Pago'] = array('-1100', '-1100'); -$tz_array['Pacific/Palau'] = array('+0900', '+0900'); -$tz_array['Pacific/Pitcairn'] = array('-0800', '-0800'); -$tz_array['Pacific/Ponape'] = array('+1100', '+1100'); -$tz_array['Pacific/Port_Moresby'] = array('+1000', '+1000'); -$tz_array['Pacific/Rarotonga'] = array('-1000', '-1000'); -$tz_array['Pacific/Saipan'] = array('+1000', '+1000'); -$tz_array['Pacific/Samoa'] = array('-1100', '-1100'); -$tz_array['Pacific/Tahiti'] = array('-1000', '-1000'); -$tz_array['Pacific/Tarawa'] = array('+1200', '+1200'); -$tz_array['Pacific/Tongatapu'] = array('+1300', '+1300'); -$tz_array['Pacific/Truk'] = array('+1000', '+1000'); -$tz_array['Pacific/Wake'] = array('+1200', '+1200'); -$tz_array['Pacific/Wallis'] = array('+1200', '+1200'); -$tz_array['Pacific/Yap'] = array('+1000', '+1000'); -$tz_array['Poland'] = array('+0100', '+0200'); -$tz_array['Portugal'] = array('+0000', '+0100'); -$tz_array['ROC'] = array('+0800', '+0800'); -$tz_array['ROK'] = array('+0900', '+0900'); -$tz_array['Singapore'] = array('+0800', '+0800'); -$tz_array['SystemV/AST4'] = array('-0400', '-0400'); -$tz_array['SystemV/AST4ADT'] = array('-0400', '-0300'); -$tz_array['SystemV/CST6'] = array('-0600', '-0600'); -$tz_array['SystemV/CST6CDT'] = array('-0600', '-0500'); -$tz_array['SystemV/EST5'] = array('-0500', '-0500'); -$tz_array['SystemV/EST5EDT'] = array('-0500', '-0400'); -$tz_array['SystemV/HST10'] = array('-1000', '-1000'); -$tz_array['SystemV/MST7'] = array('-0700', '-0700'); -$tz_array['SystemV/MST7MDT'] = array('-0700', '-0600'); -$tz_array['SystemV/PST8'] = array('-0800', '-0800'); -$tz_array['SystemV/PST8PDT'] = array('-0800', '-0700'); -$tz_array['SystemV/YST9'] = array('-0900', '-0900'); -$tz_array['SystemV/YST9YDT'] = array('-0900', '-0800'); -$tz_array['Turkey'] = array('+0200', '+0300'); -$tz_array['US/Alaska'] = array('-0900', '-0800'); -$tz_array['US/Aleutian'] = array('-1000', '-0900'); -$tz_array['US/Arizona'] = array('-0700', '-0700'); -$tz_array['US/Central'] = array('-0600', '-0500'); -$tz_array['US/East-Indiana'] = array('-0500', '-0500'); -$tz_array['US/Eastern'] = array('-0500', '-0400'); -$tz_array['US/Hawaii'] = array('-1000', '-1000'); -$tz_array['US/Indiana-Starke'] = array('-0500', '-0500'); -$tz_array['US/Michigan'] = array('-0500', '-0400'); -$tz_array['US/Mountain'] = array('-0700', '-0600'); -$tz_array['US/Pacific'] = array('-0800', '-0700'); -$tz_array['US/Samoa'] = array('-1100', '-1100'); -$tz_array['W-SU'] = array('+0300', '+0400'); -$tz_array['WET'] = array('+0000', '+0100'); +/* values are offset in hhmm (not seconds!) relative to GMT + The first value is for standard, and the second value is for daylight +*/ +$tz_array['Africa/Addis_Ababa'] = array('+0300', '+0300'); +$tz_array['Africa/Algiers'] = array('+0100', '+0100'); +$tz_array['Africa/Asmera'] = array('+0300', '+0300'); +$tz_array['Africa/Bangui'] = array('+0100', '+0100'); +$tz_array['Africa/Blantyre'] = array('+0200', '+0200'); +$tz_array['Africa/Brazzaville'] = array('+0100', '+0100'); +$tz_array['Africa/Bujumbura'] = array('+0200', '+0200'); +$tz_array['Africa/Cairo'] = array('+0200', '+0300'); +$tz_array['Africa/Ceuta'] = array('+0100', '+0200'); +$tz_array['Africa/Dar_es_Salaam'] = array('+0300', '+0300'); +$tz_array['Africa/Djibouti'] = array('+0300', '+0300'); +$tz_array['Africa/Douala'] = array('+0100', '+0100'); +$tz_array['Africa/Gaborone'] = array('+0200', '+0200'); +$tz_array['Africa/Harare'] = array('+0200', '+0200'); +$tz_array['Africa/Johannesburg'] = array('+0200', '+0200'); +$tz_array['Africa/Kampala'] = array('+0300', '+0300'); +$tz_array['Africa/Khartoum'] = array('+0300', '+0300'); +$tz_array['Africa/Kigali'] = array('+0200', '+0200'); +$tz_array['Africa/Kinshasa'] = array('+0100', '+0100'); +$tz_array['Africa/Lagos'] = array('+0100', '+0100'); +$tz_array['Africa/Libreville'] = array('+0100', '+0100'); +$tz_array['Africa/Luanda'] = array('+0100', '+0100'); +$tz_array['Africa/Lubumbashi'] = array('+0200', '+0200'); +$tz_array['Africa/Lusaka'] = array('+0200', '+0200'); +$tz_array['Africa/Malabo'] = array('+0100', '+0100'); +$tz_array['Africa/Maputo'] = array('+0200', '+0200'); +$tz_array['Africa/Maseru'] = array('+0200', '+0200'); +$tz_array['Africa/Mbabane'] = array('+0200', '+0200'); +$tz_array['Africa/Mogadishu'] = array('+0300', '+0300'); +$tz_array['Africa/Nairobi'] = array('+0300', '+0300'); +$tz_array['Africa/Ndjamena'] = array('+0100', '+0100'); +$tz_array['Africa/Niamey'] = array('+0100', '+0100'); +$tz_array['Africa/Porto-Novo'] = array('+0100', '+0100'); +$tz_array['Africa/Tripoli'] = array('+0200', '+0200'); +$tz_array['Africa/Tunis'] = array('+0100', '+0100'); +$tz_array['Africa/Windhoek'] = array('+0200', '+0100'); +$tz_array['America/Adak'] = array('-1000', '-0900'); +$tz_array['America/Anchorage'] = array('-0900', '-0800'); +$tz_array['America/Anguilla'] = array('-0400', '-0400'); +$tz_array['America/Antigua'] = array('-0400', '-0400'); +$tz_array['America/Araguaina'] = array('-0200', '-0300'); +$tz_array['America/Aruba'] = array('-0400', '-0400'); +$tz_array['America/Asuncion'] = array('-0300', '-0400'); +$tz_array['America/Atka'] = array('-1000', '-0900'); +$tz_array['America/Barbados'] = array('-0400', '-0400'); +$tz_array['America/Belem'] = array('-0300', '-0300'); +$tz_array['America/Belize'] = array('-0600', '-0600'); +$tz_array['America/Boa_Vista'] = array('-0400', '-0400'); +$tz_array['America/Bogota'] = array('-0500', '-0500'); +$tz_array['America/Boise'] = array('-0700', '-0600'); +$tz_array['America/Buenos_Aires'] = array('-0300', '-0300'); +$tz_array['America/Cambridge_Bay'] = array('-0700', '-0600'); +$tz_array['America/Cancun'] = array('-0600', '-0500'); +$tz_array['America/Caracas'] = array('-0400', '-0400'); +$tz_array['America/Catamarca'] = array('-0300', '-0300'); +$tz_array['America/Cayenne'] = array('-0300', '-0300'); +$tz_array['America/Cayman'] = array('-0500', '-0500'); +$tz_array['America/Chicago'] = array('-0600', '-0500'); +$tz_array['America/Chihuahua'] = array('-0700', '-0600'); +$tz_array['America/Cordoba'] = array('-0300', '-0300'); +$tz_array['America/Costa_Rica'] = array('-0600', '-0600'); +$tz_array['America/Cuiaba'] = array('-0300', '-0400'); +$tz_array['America/Curacao'] = array('-0400', '-0400'); +$tz_array['America/Dawson'] = array('-0800', '-0700'); +$tz_array['America/Dawson_Creek'] = array('-0700', '-0700'); +$tz_array['America/Denver'] = array('-0700', '-0600'); +$tz_array['America/Detroit'] = array('-0500', '-0400'); +$tz_array['America/Dominica'] = array('-0400', '-0400'); +$tz_array['America/Edmonton'] = array('-0700', '-0600'); +$tz_array['America/Eirunepe'] = array('-0500', '-0500'); +$tz_array['America/El_Salvador'] = array('-0600', '-0600'); +$tz_array['America/Ensenada'] = array('-0800', '-0700'); +$tz_array['America/Fort_Wayne'] = array('-0500', '-0500'); +$tz_array['America/Fortaleza'] = array('-0300', '-0300'); +$tz_array['America/Glace_Bay'] = array('-0400', '-0300'); +$tz_array['America/Godthab'] = array('-0300', '-0200'); +$tz_array['America/Goose_Bay'] = array('-0400', '-0300'); +$tz_array['America/Grand_Turk'] = array('-0500', '-0400'); +$tz_array['America/Grenada'] = array('-0400', '-0400'); +$tz_array['America/Guadeloupe'] = array('-0400', '-0400'); +$tz_array['America/Guatemala'] = array('-0600', '-0600'); +$tz_array['America/Guayaquil'] = array('-0500', '-0500'); +$tz_array['America/Guyana'] = array('-0400', '-0400'); +$tz_array['America/Halifax'] = array('-0400', '-0300'); +$tz_array['America/Havana'] = array('-0500', '-0400'); +$tz_array['America/Hermosillo'] = array('-0700', '-0700'); +$tz_array['America/Indiana/Indianapolis'] = array('-0500', '-0500'); +$tz_array['America/Indiana/Knox'] = array('-0500', '-0500'); +$tz_array['America/Indiana/Marengo'] = array('-0500', '-0500'); +$tz_array['America/Indiana/Vevay'] = array('-0500', '-0500'); +$tz_array['America/Indianapolis'] = array('-0500', '-0500'); +$tz_array['America/Inuvik'] = array('-0700', '-0600'); +$tz_array['America/Iqaluit'] = array('-0500', '-0400'); +$tz_array['America/Jamaica'] = array('-0500', '-0500'); +$tz_array['America/Jujuy'] = array('-0300', '-0300'); +$tz_array['America/Juneau'] = array('-0900', '-0800'); +$tz_array['America/Kentucky/Louisville'] = array('-0500', '-0400'); +$tz_array['America/Kentucky/Monticello'] = array('-0500', '-0400'); +$tz_array['America/Knox_IN'] = array('-0500', '-0500'); +$tz_array['America/La_Paz'] = array('-0400', '-0400'); +$tz_array['America/Lima'] = array('-0500', '-0500'); +$tz_array['America/Los_Angeles'] = array('-0800', '-0700'); +$tz_array['America/Louisville'] = array('-0500', '-0400'); +$tz_array['America/Maceio'] = array('-0300', '-0300'); +$tz_array['America/Managua'] = array('-0600', '-0600'); +$tz_array['America/Manaus'] = array('-0400', '-0400'); +$tz_array['America/Martinique'] = array('-0400', '-0400'); +$tz_array['America/Mazatlan'] = array('-0700', '-0600'); +$tz_array['America/Mendoza'] = array('-0300', '-0300'); +$tz_array['America/Menominee'] = array('-0600', '-0500'); +$tz_array['America/Merida'] = array('-0600', '-0500'); +$tz_array['America/Mexico_City'] = array('-0600', '-0500'); +$tz_array['America/Miquelon'] = array('-0300', '-0200'); +$tz_array['America/Monterrey'] = array('-0600', '-0500'); +$tz_array['America/Montevideo'] = array('-0300', '-0300'); +$tz_array['America/Montreal'] = array('-0500', '-0400'); +$tz_array['America/Montserrat'] = array('-0400', '-0400'); +$tz_array['America/Nassau'] = array('-0500', '-0400'); +$tz_array['America/New_York'] = array('-0500', '-0400'); +$tz_array['America/Nipigon'] = array('-0500', '-0400'); +$tz_array['America/Nome'] = array('-0900', '-0800'); +$tz_array['America/Noronha'] = array('-0200', '-0200'); +$tz_array['America/Panama'] = array('-0500', '-0500'); +$tz_array['America/Pangnirtung'] = array('-0500', '-0400'); +$tz_array['America/Paramaribo'] = array('-0300', '-0300'); +$tz_array['America/Phoenix'] = array('-0700', '-0700'); +$tz_array['America/Port-au-Prince'] = array('-0500', '-0500'); +$tz_array['America/Port_of_Spain'] = array('-0400', '-0400'); +$tz_array['America/Porto_Acre'] = array('-0500', '-0500'); +$tz_array['America/Porto_Velho'] = array('-0400', '-0400'); +$tz_array['America/Puerto_Rico'] = array('-0400', '-0400'); +$tz_array['America/Rainy_River'] = array('-0600', '-0500'); +$tz_array['America/Rankin_Inlet'] = array('-0600', '-0500'); +$tz_array['America/Recife'] = array('-0300', '-0300'); +$tz_array['America/Regina'] = array('-0600', '-0600'); +$tz_array['America/Rio_Branco'] = array('-0500', '-0500'); +$tz_array['America/Rosario'] = array('-0300', '-0300'); +$tz_array['America/Santiago'] = array('-0300', '-0400'); +$tz_array['America/Santo_Domingo'] = array('-0400', '-0400'); +$tz_array['America/Sao_Paulo'] = array('-0200', '-0300'); +$tz_array['America/Scoresbysund'] = array('-0100', '+0000'); +$tz_array['America/Shiprock'] = array('-0700', '-0600'); +$tz_array['America/St_Johns'] = array('-0330', '-0230'); +$tz_array['America/St_Kitts'] = array('-0400', '-0400'); +$tz_array['America/St_Lucia'] = array('-0400', '-0400'); +$tz_array['America/St_Thomas'] = array('-0400', '-0400'); +$tz_array['America/St_Vincent'] = array('-0400', '-0400'); +$tz_array['America/Swift_Current'] = array('-0600', '-0600'); +$tz_array['America/Tegucigalpa'] = array('-0600', '-0600'); +$tz_array['America/Thule'] = array('-0400', '-0300'); +$tz_array['America/Thunder_Bay'] = array('-0500', '-0400'); +$tz_array['America/Tijuana'] = array('-0800', '-0700'); +$tz_array['America/Tortola'] = array('-0400', '-0400'); +$tz_array['America/Vancouver'] = array('-0800', '-0700'); +$tz_array['America/Virgin'] = array('-0400', '-0400'); +$tz_array['America/Whitehorse'] = array('-0800', '-0700'); +$tz_array['America/Winnipeg'] = array('-0600', '-0500'); +$tz_array['America/Yakutat'] = array('-0900', '-0800'); +$tz_array['America/Yellowknife'] = array('-0700', '-0600'); +$tz_array['Antarctica/Casey'] = array('+0800', '+0800'); +$tz_array['Antarctica/Davis'] = array('+0700', '+0700'); +$tz_array['Antarctica/DumontDUrville'] = array('+1000', '+1000'); +$tz_array['Antarctica/Mawson'] = array('+0600', '+0600'); +$tz_array['Antarctica/McMurdo'] = array('+1300', '+1200'); +$tz_array['Antarctica/Palmer'] = array('-0300', '-0400'); +$tz_array['Antarctica/South_Pole'] = array('+1300', '+1200'); +$tz_array['Antarctica/Syowa'] = array('+0300', '+0300'); +$tz_array['Antarctica/Vostok'] = array('+0600', '+0600'); +$tz_array['Arctic/Longyearbyen'] = array('+0100', '+0200'); +$tz_array['Asia/Aden'] = array('+0300', '+0300'); +$tz_array['Asia/Almaty'] = array('+0600', '+0700'); +$tz_array['Asia/Amman'] = array('+0200', '+0300'); +$tz_array['Asia/Anadyr'] = array('+1200', '+1300'); +$tz_array['Asia/Aqtau'] = array('+0400', '+0500'); +$tz_array['Asia/Aqtobe'] = array('+0500', '+0600'); +$tz_array['Asia/Ashgabat'] = array('+0500', '+0500'); +$tz_array['Asia/Ashkhabad'] = array('+0500', '+0500'); +$tz_array['Asia/Baghdad'] = array('+0300', '+0400'); +$tz_array['Asia/Bahrain'] = array('+0300', '+0300'); +$tz_array['Asia/Baku'] = array('+0400', '+0500'); +$tz_array['Asia/Bangkok'] = array('+0700', '+0700'); +$tz_array['Asia/Beirut'] = array('+0200', '+0300'); +$tz_array['Asia/Bishkek'] = array('+0500', '+0600'); +$tz_array['Asia/Brunei'] = array('+0800', '+0800'); +$tz_array['Asia/Calcutta'] = array('+0530', '+0530'); +$tz_array['Asia/Chungking'] = array('+0800', '+0800'); +$tz_array['Asia/Colombo'] = array('+0600', '+0600'); +$tz_array['Asia/Dacca'] = array('+0600', '+0600'); +$tz_array['Asia/Damascus'] = array('+0200', '+0300'); +$tz_array['Asia/Dhaka'] = array('+0600', '+0600'); +$tz_array['Asia/Dili'] = array('+0900', '+0900'); +$tz_array['Asia/Dubai'] = array('+0400', '+0400'); +$tz_array['Asia/Dushanbe'] = array('+0500', '+0500'); +$tz_array['Asia/Gaza'] = array('+0200', '+0300'); +$tz_array['Asia/Harbin'] = array('+0800', '+0800'); +$tz_array['Asia/Hong_Kong'] = array('+0800', '+0800'); +$tz_array['Asia/Hovd'] = array('+0700', '+0700'); +$tz_array['Asia/Irkutsk'] = array('+0800', '+0900'); +$tz_array['Asia/Istanbul'] = array('+0200', '+0300'); +$tz_array['Asia/Jakarta'] = array('+0700', '+0700'); +$tz_array['Asia/Jayapura'] = array('+0900', '+0900'); +$tz_array['Asia/Jerusalem'] = array('+0200', '+0300'); +$tz_array['Asia/Kabul'] = array('+0430', '+0430'); +$tz_array['Asia/Kamchatka'] = array('+1200', '+1300'); +$tz_array['Asia/Karachi'] = array('+0500', '+0500'); +$tz_array['Asia/Kashgar'] = array('+0800', '+0800'); +$tz_array['Asia/Katmandu'] = array('+0545', '+0545'); +$tz_array['Asia/Kolkata'] = array('+0530', '+0530'); +$tz_array['Asia/Krasnoyarsk'] = array('+0700', '+0800'); +$tz_array['Asia/Kuala_Lumpur'] = array('+0800', '+0800'); +$tz_array['Asia/Kuching'] = array('+0800', '+0800'); +$tz_array['Asia/Kuwait'] = array('+0300', '+0300'); +$tz_array['Asia/Macao'] = array('+0800', '+0800'); +$tz_array['Asia/Magadan'] = array('+1100', '+1200'); +$tz_array['Asia/Manila'] = array('+0800', '+0800'); +$tz_array['Asia/Muscat'] = array('+0400', '+0400'); +$tz_array['Asia/Nicosia'] = array('+0200', '+0300'); +$tz_array['Asia/Novosibirsk'] = array('+0600', '+0700'); +$tz_array['Asia/Omsk'] = array('+0600', '+0700'); +$tz_array['Asia/Phnom_Penh'] = array('+0700', '+0700'); +$tz_array['Asia/Pyongyang'] = array('+0900', '+0900'); +$tz_array['Asia/Qatar'] = array('+0300', '+0300'); +$tz_array['Asia/Rangoon'] = array('+0630', '+0630'); +$tz_array['Asia/Riyadh'] = array('+0300', '+0300'); +$tz_array['Asia/Riyadh'] = array('+0300', '+0300'); +$tz_array['Asia/Saigon'] = array('+0700', '+0700'); +$tz_array['Asia/Samarkand'] = array('+0500', '+0500'); +$tz_array['Asia/Seoul'] = array('+0900', '+0900'); +$tz_array['Asia/Shanghai'] = array('+0800', '+0800'); +$tz_array['Asia/Singapore'] = array('+0800', '+0800'); +$tz_array['Asia/Taipei'] = array('+0800', '+0800'); +$tz_array['Asia/Tashkent'] = array('+0500', '+0500'); +$tz_array['Asia/Tbilisi'] = array('+0400', '+0500'); +$tz_array['Asia/Tehran'] = array('+0330', '+0430'); +$tz_array['Asia/Tel_Aviv'] = array('+0200', '+0300'); +$tz_array['Asia/Thimbu'] = array('+0600', '+0600'); +$tz_array['Asia/Thimphu'] = array('+0600', '+0600'); +$tz_array['Asia/Tokyo'] = array('+0900', '+0900'); +$tz_array['Asia/Ujung_Pandang'] = array('+0800', '+0800'); +$tz_array['Asia/Ulaanbaatar'] = array('+0800', '+0800'); +$tz_array['Asia/Ulan_Bator'] = array('+0800', '+0800'); +$tz_array['Asia/Urumqi'] = array('+0800', '+0800'); +$tz_array['Asia/Vientiane'] = array('+0700', '+0700'); +$tz_array['Asia/Vladivostok'] = array('+1000', '+1100'); +$tz_array['Asia/Yakutsk'] = array('+0900', '+1000'); +$tz_array['Asia/Yekaterinburg'] = array('+0500', '+0600'); +$tz_array['Asia/Yerevan'] = array('+0400', '+0500'); +$tz_array['Atlantic/Azores'] = array('-0100', '+0000'); +$tz_array['Atlantic/Bermuda'] = array('-0400', '-0300'); +$tz_array['Atlantic/Canary'] = array('+0000', '+0100'); +$tz_array['Atlantic/Cape_Verde'] = array('-0100', '-0100'); +$tz_array['Atlantic/Faeroe'] = array('+0000', '+0100'); +$tz_array['Atlantic/Jan_Mayen'] = array('-0100', '-0100'); +$tz_array['Atlantic/Madeira'] = array('+0000', '+0100'); +$tz_array['Atlantic/South_Georgia'] = array('-0200', '-0200'); +$tz_array['Atlantic/Stanley'] = array('-0300', '-0400'); +$tz_array['Australia/ACT'] = array('+1000', '+1100'); +$tz_array['Australia/Adelaide'] = array('+1030', '+0930'); +$tz_array['Australia/Brisbane'] = array('+1000', '+1000'); +$tz_array['Australia/Broken_Hill'] = array('+1030', '+0930'); +$tz_array['Australia/Canberra'] = array('+1100', '+1000'); +$tz_array['Australia/Darwin'] = array('+0930', '+0930'); +$tz_array['Australia/Hobart'] = array('+1100', '+1000'); +$tz_array['Australia/LHI'] = array('+1100', '+1030'); +$tz_array['Australia/Lindeman'] = array('+1000', '+1000'); +$tz_array['Australia/Lord_Howe'] = array('+1100', '+1030'); +$tz_array['Australia/Melbourne'] = array('+1000', '+1100'); +$tz_array['Australia/NSW'] = array('+1000', '+1100'); +$tz_array['Australia/North'] = array('+0930', '+0930'); +$tz_array['Australia/Perth'] = array('+0800', '+0800'); +$tz_array['Australia/Queensland'] = array('+1000', '+1000'); +$tz_array['Australia/South'] = array('+1030', '+0930'); +$tz_array['Australia/Sydney'] = array('+1000', '+1100'); +$tz_array['Australia/Tasmania'] = array('+1000', '+1100'); +$tz_array['Australia/Victoria'] = array('+1000', '+1100'); +$tz_array['Australia/West'] = array('+0800', '+0800'); +$tz_array['Australia/Yancowinna'] = array('+1030', '+0930'); +$tz_array['Brazil/Acre'] = array('-0500', '-0500'); +$tz_array['Brazil/DeNoronha'] = array('-0200', '-0200'); +$tz_array['Brazil/East'] = array('-0200', '-0300'); +$tz_array['Brazil/West'] = array('-0400', '-0400'); +$tz_array['CET'] = array('+0100', '+0200'); +$tz_array['CST6CDT'] = array('-0600', '-0500'); +$tz_array['Canada/Atlantic'] = array('-0400', '-0300'); +$tz_array['Canada/Central'] = array('-0600', '-0500'); +$tz_array['Canada/East-Saskatchewan'] = array('-0600', '-0600'); +$tz_array['Canada/Eastern'] = array('-0500', '-0400'); +$tz_array['Canada/Mountain'] = array('-0700', '-0600'); +$tz_array['Canada/Newfoundland'] = array('-0330', '-0230'); +$tz_array['Canada/Pacific'] = array('-0800', '-0700'); +$tz_array['Canada/Saskatchewan'] = array('-0600', '-0600'); +$tz_array['Canada/Yukon'] = array('-0800', '-0700'); +$tz_array['Chile/Continental'] = array('-0300', '-0400'); +$tz_array['Chile/EasterIsland'] = array('-0500', '-0600'); +$tz_array['Cuba'] = array('-0500', '-0400'); +$tz_array['EET'] = array('+0200', '+0300'); +$tz_array['EST'] = array('-0500', '-0500'); +$tz_array['EST5EDT'] = array('-0500', '-0400'); +$tz_array['Egypt'] = array('+0200', '+0300'); +$tz_array['Eire'] = array('+0000', '+0100'); +$tz_array['Etc/GMT+1'] = array('-0100', '-0100'); +$tz_array['Etc/GMT+10'] = array('-1000', '-1000'); +$tz_array['Etc/GMT+11'] = array('-1100', '-1100'); +$tz_array['Etc/GMT+12'] = array('-1200', '-1200'); +$tz_array['Etc/GMT+2'] = array('-0200', '-0200'); +$tz_array['Etc/GMT+3'] = array('-0300', '-0300'); +$tz_array['Etc/GMT+4'] = array('-0400', '-0400'); +$tz_array['Etc/GMT+5'] = array('-0500', '-0500'); +$tz_array['Etc/GMT+6'] = array('-0600', '-0600'); +$tz_array['Etc/GMT+7'] = array('-0700', '-0700'); +$tz_array['Etc/GMT+8'] = array('-0800', '-0800'); +$tz_array['Etc/GMT+9'] = array('-0900', '-0900'); +$tz_array['Etc/GMT-1'] = array('+0100', '+0100'); +$tz_array['Etc/GMT-10'] = array('+1000', '+1000'); +$tz_array['Etc/GMT-11'] = array('+1100', '+1100'); +$tz_array['Etc/GMT-12'] = array('+1200', '+1200'); +$tz_array['Etc/GMT-13'] = array('+1300', '+1300'); +$tz_array['Etc/GMT-14'] = array('+1400', '+1400'); +$tz_array['Etc/GMT-2'] = array('+0200', '+0200'); +$tz_array['Etc/GMT-3'] = array('+0300', '+0300'); +$tz_array['Etc/GMT-4'] = array('+0400', '+0400'); +$tz_array['Etc/GMT-5'] = array('+0500', '+0500'); +$tz_array['Etc/GMT-6'] = array('+0600', '+0600'); +$tz_array['Etc/GMT-7'] = array('+0700', '+0700'); +$tz_array['Etc/GMT-8'] = array('+0800', '+0800'); +$tz_array['Etc/GMT-9'] = array('+0900', '+0900'); +$tz_array['Europe/Amsterdam'] = array('+0100', '+0200'); +$tz_array['Europe/Andorra'] = array('+0100', '+0200'); +$tz_array['Europe/Athens'] = array('+0200', '+0300'); +$tz_array['Europe/Belfast'] = array('+0000', '+0100'); +$tz_array['Europe/Belgrade'] = array('+0100', '+0200'); +$tz_array['Europe/Berlin'] = array('+0100', '+0200'); +$tz_array['Europe/Bratislava'] = array('+0100', '+0200'); +$tz_array['Europe/Brussels'] = array('+0100', '+0200'); +$tz_array['Europe/Bucharest'] = array('+0200', '+0300'); +$tz_array['Europe/Budapest'] = array('+0100', '+0200'); +$tz_array['Europe/Chisinau'] = array('+0200', '+0300'); +$tz_array['Europe/Copenhagen'] = array('+0100', '+0200'); +$tz_array['Europe/Dublin'] = array('+0000', '+0100'); +$tz_array['Europe/Gibraltar'] = array('+0100', '+0200'); +$tz_array['Europe/Helsinki'] = array('+0200', '+0300'); +$tz_array['Europe/Istanbul'] = array('+0200', '+0300'); +$tz_array['Europe/Kaliningrad'] = array('+0200', '+0300'); +$tz_array['Europe/Kiev'] = array('+0200', '+0300'); +$tz_array['Europe/Lisbon'] = array('+0000', '+0100'); +$tz_array['Europe/Ljubljana'] = array('+0100', '+0200'); +$tz_array['Europe/London'] = array('+0000', '+0100'); +$tz_array['Europe/Luxembourg'] = array('+0100', '+0200'); +$tz_array['Europe/Madrid'] = array('+0100', '+0200'); +$tz_array['Europe/Malta'] = array('+0100', '+0200'); +$tz_array['Europe/Minsk'] = array('+0200', '+0300'); +$tz_array['Europe/Monaco'] = array('+0100', '+0200'); +$tz_array['Europe/Moscow'] = array('+0300', '+0400'); +$tz_array['Europe/Nicosia'] = array('+0200', '+0300'); +$tz_array['Europe/Oslo'] = array('+0100', '+0200'); +$tz_array['Europe/Paris'] = array('+0100', '+0200'); +$tz_array['Europe/Prague'] = array('+0100', '+0200'); +$tz_array['Europe/Riga'] = array('+0200', '+0300'); +$tz_array['Europe/Rome'] = array('+0100', '+0200'); +$tz_array['Europe/Samara'] = array('+0400', '+0500'); +$tz_array['Europe/San_Marino'] = array('+0100', '+0200'); +$tz_array['Europe/Sarajevo'] = array('+0100', '+0200'); +$tz_array['Europe/Simferopol'] = array('+0200', '+0300'); +$tz_array['Europe/Skopje'] = array('+0100', '+0200'); +$tz_array['Europe/Sofia'] = array('+0200', '+0300'); +$tz_array['Europe/Stockholm'] = array('+0100', '+0200'); +$tz_array['Europe/Tallinn'] = array('+0200', '+0200'); +$tz_array['Europe/Tirane'] = array('+0100', '+0200'); +$tz_array['Europe/Tiraspol'] = array('+0200', '+0300'); +$tz_array['Europe/Uzhgorod'] = array('+0200', '+0300'); +$tz_array['Europe/Vaduz'] = array('+0100', '+0200'); +$tz_array['Europe/Vatican'] = array('+0100', '+0200'); +$tz_array['Europe/Vienna'] = array('+0100', '+0200'); +$tz_array['Europe/Vilnius'] = array('+0200', '+0200'); +$tz_array['Europe/Warsaw'] = array('+0100', '+0200'); +$tz_array['Europe/Zagreb'] = array('+0100', '+0200'); +$tz_array['Europe/Zaporozhye'] = array('+0200', '+0300'); +$tz_array['Europe/Zurich'] = array('+0100', '+0200'); +$tz_array['GB'] = array('+0000', '+0100'); +$tz_array['GB-Eire'] = array('+0000', '+0100'); +$tz_array['HST'] = array('-1000', '-1000'); +$tz_array['Hongkong'] = array('+0800', '+0800'); +$tz_array['Indian/Antananarivo'] = array('+0300', '+0300'); +$tz_array['Indian/Chagos'] = array('+0500', '+0500'); +$tz_array['Indian/Christmas'] = array('+0700', '+0700'); +$tz_array['Indian/Cocos'] = array('+0630', '+0630'); +$tz_array['Indian/Comoro'] = array('+0300', '+0300'); +$tz_array['Indian/Kerguelen'] = array('+0500', '+0500'); +$tz_array['Indian/Mahe'] = array('+0400', '+0400'); +$tz_array['Indian/Maldives'] = array('+0500', '+0500'); +$tz_array['Indian/Mauritius'] = array('+0400', '+0400'); +$tz_array['Indian/Mayotte'] = array('+0300', '+0300'); +$tz_array['Indian/Reunion'] = array('+0400', '+0400'); +$tz_array['Iran'] = array('+0330', '+0430'); +$tz_array['Israel'] = array('+0200', '+0300'); +$tz_array['Jamaica'] = array('-0500', '-0500'); +$tz_array['Japan'] = array('+0900', '+0900'); +$tz_array['Kwajalein'] = array('+1200', '+1200'); +$tz_array['Libya'] = array('+0200', '+0200'); +$tz_array['MET'] = array('+0100', '+0200'); +$tz_array['MST'] = array('-0700', '-0700'); +$tz_array['MST7MDT'] = array('-0700', '-0600'); +$tz_array['Mexico/BajaNorte'] = array('-0800', '-0700'); +$tz_array['Mexico/BajaSur'] = array('-0700', '-0600'); +$tz_array['Mexico/General'] = array('-0600', '-0500'); +$tz_array['Mideast/Riyadh87'] = array('+0300', '+0300'); +$tz_array['Mideast/Riyadh88'] = array('+0300', '+0300'); +$tz_array['Mideast/Riyadh89'] = array('+0300', '+0300'); +$tz_array['NZ'] = array('+1300', '+1200'); +$tz_array['NZ-CHAT'] = array('+1345', '+1245'); +$tz_array['Navajo'] = array('-0700', '-0600'); +$tz_array['PRC'] = array('+0800', '+0800'); +$tz_array['PST8PDT'] = array('-0800', '-0700'); +$tz_array['Pacific/Apia'] = array('-1100', '-1100'); +$tz_array['Pacific/Auckland'] = array('+1300', '+1200'); +$tz_array['Pacific/Chatham'] = array('+1345', '+1245'); +$tz_array['Pacific/Easter'] = array('-0500', '-0600'); +$tz_array['Pacific/Efate'] = array('+1100', '+1100'); +$tz_array['Pacific/Enderbury'] = array('+1300', '+1300'); +$tz_array['Pacific/Fakaofo'] = array('-1000', '-1000'); +$tz_array['Pacific/Fiji'] = array('+1200', '+1200'); +$tz_array['Pacific/Funafuti'] = array('+1200', '+1200'); +$tz_array['Pacific/Galapagos'] = array('-0600', '-0600'); +$tz_array['Pacific/Gambier'] = array('-0900', '-0900'); +$tz_array['Pacific/Guadalcanal'] = array('+1100', '+1100'); +$tz_array['Pacific/Guam'] = array('+1000', '+1000'); +$tz_array['Pacific/Honolulu'] = array('-1000', '-1000'); +$tz_array['Pacific/Johnston'] = array('-1000', '-1000'); +$tz_array['Pacific/Kiritimati'] = array('+1400', '+1400'); +$tz_array['Pacific/Kosrae'] = array('+1100', '+1100'); +$tz_array['Pacific/Kwajalein'] = array('+1200', '+1200'); +$tz_array['Pacific/Majuro'] = array('+1200', '+1200'); +$tz_array['Pacific/Marquesas'] = array('-0930', '-0930'); +$tz_array['Pacific/Midway'] = array('-1100', '-1100'); +$tz_array['Pacific/Nauru'] = array('+1200', '+1200'); +$tz_array['Pacific/Niue'] = array('-1100', '-1100'); +$tz_array['Pacific/Norfolk'] = array('+1130', '+1130'); +$tz_array['Pacific/Noumea'] = array('+1100', '+1100'); +$tz_array['Pacific/Pago_Pago'] = array('-1100', '-1100'); +$tz_array['Pacific/Palau'] = array('+0900', '+0900'); +$tz_array['Pacific/Pitcairn'] = array('-0800', '-0800'); +$tz_array['Pacific/Ponape'] = array('+1100', '+1100'); +$tz_array['Pacific/Port_Moresby'] = array('+1000', '+1000'); +$tz_array['Pacific/Rarotonga'] = array('-1000', '-1000'); +$tz_array['Pacific/Saipan'] = array('+1000', '+1000'); +$tz_array['Pacific/Samoa'] = array('-1100', '-1100'); +$tz_array['Pacific/Tahiti'] = array('-1000', '-1000'); +$tz_array['Pacific/Tarawa'] = array('+1200', '+1200'); +$tz_array['Pacific/Tongatapu'] = array('+1300', '+1300'); +$tz_array['Pacific/Truk'] = array('+1000', '+1000'); +$tz_array['Pacific/Wake'] = array('+1200', '+1200'); +$tz_array['Pacific/Wallis'] = array('+1200', '+1200'); +$tz_array['Pacific/Yap'] = array('+1000', '+1000'); +$tz_array['Poland'] = array('+0100', '+0200'); +$tz_array['Portugal'] = array('+0000', '+0100'); +$tz_array['ROC'] = array('+0800', '+0800'); +$tz_array['ROK'] = array('+0900', '+0900'); +$tz_array['Singapore'] = array('+0800', '+0800'); +$tz_array['SystemV/AST4'] = array('-0400', '-0400'); +$tz_array['SystemV/AST4ADT'] = array('-0400', '-0300'); +$tz_array['SystemV/CST6'] = array('-0600', '-0600'); +$tz_array['SystemV/CST6CDT'] = array('-0600', '-0500'); +$tz_array['SystemV/EST5'] = array('-0500', '-0500'); +$tz_array['SystemV/EST5EDT'] = array('-0500', '-0400'); +$tz_array['SystemV/HST10'] = array('-1000', '-1000'); +$tz_array['SystemV/MST7'] = array('-0700', '-0700'); +$tz_array['SystemV/MST7MDT'] = array('-0700', '-0600'); +$tz_array['SystemV/PST8'] = array('-0800', '-0800'); +$tz_array['SystemV/PST8PDT'] = array('-0800', '-0700'); +$tz_array['SystemV/YST9'] = array('-0900', '-0900'); +$tz_array['SystemV/YST9YDT'] = array('-0900', '-0800'); +$tz_array['Turkey'] = array('+0200', '+0300'); +$tz_array['US/Alaska'] = array('-0900', '-0800'); +$tz_array['US/Aleutian'] = array('-1000', '-0900'); +$tz_array['US/Arizona'] = array('-0700', '-0700'); +$tz_array['US/Central'] = array('-0600', '-0500'); +$tz_array['US/East-Indiana'] = array('-0500', '-0500'); +$tz_array['US/Eastern'] = array('-0500', '-0400'); +$tz_array['US/Hawaii'] = array('-1000', '-1000'); +$tz_array['US/Indiana-Starke'] = array('-0500', '-0500'); +$tz_array['US/Michigan'] = array('-0500', '-0400'); +$tz_array['US/Mountain'] = array('-0700', '-0600'); +$tz_array['US/Pacific'] = array('-0800', '-0700'); +$tz_array['US/Samoa'] = array('-1100', '-1100'); +$tz_array['W-SU'] = array('+0300', '+0400'); +$tz_array['WET'] = array('+0000', '+0100'); ?>
\ No newline at end of file |