Commit 8df11479 authored by David Schnur's avatar David Schnur

Merge pull request #893 from markrcote/master

Update timezone-js and Olson db; list sources in README.md.
parents f267cc10 2b1f9343
......@@ -3,9 +3,9 @@
Flot is a Javascript plotting library for jQuery.
Read more at the website: <http://www.flotcharts.org/>
Take a look at the [examples](http://people.iola.dk/olau/flot/examples/), they should give a good
impression of what Flot can do and the source code of the examples is
probably the fastest way to learn how to use Flot.
Take a look at the the examples in examples/index.html; they should give a good
impression of what Flot can do, and the source code of the examples is probably
the fastest way to learn how to use Flot.
## Installation ##
......@@ -92,5 +92,17 @@ the words that come up are "good-looking", "attractive", "stylish",
"smart", "impressive", "extravagant". One of the main goals with Flot
is pretty looks.
## Notes about the examples ##
In order to have a useful, functional example of time-series plots using time
zones, date.js from [timezone-js][timezone-js] (released under the Apache 2.0
license) and the [Olson][olson] time zone database (released to the public
domain) have been included in the examples directory. They are used in
examples/timezones.html.
[excanvas]: http://code.google.com/p/explorercanvas/
[flashcanvas]: http://code.google.com/p/flashcanvas/
[timezone-js]: https://github.com/mde/timezone-js
[olson]: ftp://ftp.iana.org/tz/
// -----
// The `timezoneJS.Date` object gives you full-blown timezone support, independent from the timezone set on the end-user's machine running the browser. It uses the Olson zoneinfo files for its timezone data.
//
// The constructor function and setter methods use proxy JavaScript Date objects behind the scenes, so you can use strings like '10/22/2006' with the constructor. You also get the same sensible wraparound behavior with numeric parameters (like setting a value of 14 for the month wraps around to the next March).
//
// The other significant difference from the built-in JavaScript Date is that `timezoneJS.Date` also has named properties that store the values of year, month, date, etc., so it can be directly serialized to JSON and used for data transfer.
/*
* Part of "timezone-js" <https://github.com/mde/timezone-js>
*
* Copyright 2010 Matthew Eernisse (mde@fleegix.org)
* and Open Source Applications Foundation
*
......@@ -22,286 +27,365 @@
* Contributions:
* Jan Niehusmann
* Ricky Romero
* Preston Hunt (prestonhunt@gmail.com),
* Dov. B Katz (dov.katz@morganstanley.com),
* Preston Hunt (prestonhunt@gmail.com)
* Dov. B Katz (dov.katz@morganstanley.com)
* Peter Bergström (pbergstr@mac.com)
*/
if (typeof fleegix == 'undefined') { var fleegix = {}; }
if (typeof timezoneJS == 'undefined') { timezoneJS = {}; }
timezoneJS.Date = function () {
var args = Array.prototype.slice.apply(arguments);
var t = null;
var dt = null;
var tz = null;
var utc = false;
// No args -- create a floating date based on the current local offset
if (args.length === 0) {
dt = new Date();
* Long Ho
*/
(function () {
// Standard initialization stuff to make sure the library is
// usable on both client and server (node) side.
var root = this;
var timezoneJS;
if (typeof exports !== 'undefined') {
timezoneJS = exports;
} else {
timezoneJS = root.timezoneJS = {};
}
// Date string or timestamp -- assumes floating
else if (args.length == 1) {
dt = new Date(args[0]);
timezoneJS.VERSION = '1.0.0';
// Grab the ajax library from global context.
// This can be jQuery, Zepto or fleegix.
// You can also specify your own transport mechanism by declaring
// `timezoneJS.timezone.transport` to a `function`. More details will follow
var $ = root.$ || root.jQuery || root.Zepto
, fleegix = root.fleegix
// Declare constant list of days and months. Unfortunately this doesn't leave room for i18n due to the Olson data being in English itself
, DAYS = timezoneJS.Days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
, MONTHS = timezoneJS.Months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
, SHORT_MONTHS = {}
, SHORT_DAYS = {}
, EXACT_DATE_TIME = {}
, TZ_REGEXP = new RegExp('^[a-zA-Z]+/');
//`{ "Jan": 0, "Feb": 1, "Mar": 2, "Apr": 3, "May": 4, "Jun": 5, "Jul": 6, "Aug": 7, "Sep": 8, "Oct": 9, "Nov": 10, "Dec": 11 }`
for (var i = 0; i < MONTHS.length; i++) {
SHORT_MONTHS[MONTHS[i].substr(0, 3)] = i;
}
// year, month, [date,] [hours,] [minutes,] [seconds,] [milliseconds,] [tzId,] [utc]
else {
t = args[args.length-1];
// Last arg is utc
if (typeof t == 'boolean') {
utc = args.pop();
tz = args.pop();
//`{ "Sun": 0, "Mon": 1, "Tue": 2, "Wed": 3, "Thu": 4, "Fri": 5, "Sat": 6 }`
for (i = 0; i < DAYS.length; i++) {
SHORT_DAYS[DAYS[i].substr(0, 3)] = i;
}
// Last arg is tzId
else if (typeof t == 'string') {
tz = args.pop();
if (tz == 'Etc/UTC' || tz == 'Etc/GMT') {
utc = true;
//Handle array indexOf in IE
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function (el) {
for (var i = 0; i < this.length; i++ ) {
if (el === this[i]) return i;
}
return -1;
}
}
// Date string (e.g., '12/27/2006')
t = args[args.length-1];
if (typeof t == 'string') {
dt = new Date(args[0]);
// Format a number to the length = digits. For ex:
//
// `_fixWidth(2, 2) = '02'`
//
// `_fixWidth(1998, 2) = '98'`
//
// This is used to pad numbers in converting date to string in ISO standard.
var _fixWidth = function (number, digits) {
if (typeof number !== "number") { throw "not a number: " + number; }
var s = number.toString();
if (number.length > digits) {
return number.substr(number.length - digits, number.length);
}
// Date part numbers
else {
var a = [];
for (var i = 0; i < 8; i++) {
a[i] = args[i] || 0;
while (s.length < digits) {
s = '0' + s;
}
dt = new Date(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]);
return s;
};
// Abstraction layer for different transport layers, including fleegix/jQuery/Zepto
//
// Object `opts` include
//
// - `url`: url to ajax query
//
// - `async`: true for asynchronous, false otherwise. If false, return value will be response from URL. This is true by default
//
// - `success`: success callback function
//
// - `error`: error callback function
// Returns response from URL if async is false, otherwise the AJAX request object itself
var _transport = function (opts) {
if ((!fleegix || typeof fleegix.xhr === 'undefined') && (!$ || typeof $.ajax === 'undefined')) {
throw new Error('Please use the Fleegix.js XHR module, jQuery ajax, Zepto ajax, or define your own transport mechanism for downloading zone files.');
}
if (!opts) return;
if (!opts.url) throw new Error ('URL must be specified');
if (!('async' in opts)) opts.async = true;
if (!opts.async) {
return fleegix && fleegix.xhr
? fleegix.xhr.doReq({ url: opts.url, async: false })
: $.ajax({ url : opts.url, async : false }).responseText;
}
return fleegix && fleegix.xhr
? fleegix.xhr.send({
url : opts.url,
method : 'get',
handleSuccess : opts.success,
handleErr : opts.error
})
: $.ajax({
url : opts.url,
dataType: 'text',
method : 'GET',
error : opts.error,
success : opts.success
});
};
// Constructor, which is similar to that of the native Date object itself
timezoneJS.Date = function () {
var args = Array.prototype.slice.apply(arguments)
, dt = null
, tz = null
, arr = [];
//We support several different constructors, including all the ones from `Date` object
// with a timezone string at the end.
//
//- `[tz]`: Returns object with time in `tz` specified.
//
// - `utcMillis`, `[tz]`: Return object with UTC time = `utcMillis`, in `tz`.
//
// - `Date`, `[tz]`: Returns object with UTC time = `Date.getTime()`, in `tz`.
//
// - `year, month, [date,] [hours,] [minutes,] [seconds,] [millis,] [tz]: Same as `Date` object
// with tz.
//
// - `Array`: Can be any combo of the above.
//
//If 1st argument is an array, we can use it as a list of arguments itself
if (Object.prototype.toString.call(args[0]) === '[object Array]') {
args = args[0];
}
if (typeof args[args.length - 1] === 'string' && TZ_REGEXP.test(args[args.length - 1])) {
tz = args.pop();
}
switch (args.length) {
case 0:
dt = new Date();
break;
case 1:
dt = new Date(args[0]);
break;
default:
for (var i = 0; i < 7; i++) {
arr[i] = args[i] || 0;
}
dt = new Date(arr[0], arr[1], arr[2], arr[3], arr[4], arr[5], arr[6]);
break;
}
this._useCache = false;
this._tzInfo = {};
this._tzAbbr = '';
this._day = 0;
this.year = 0;
this.month = 0;
this.date = 0;
this.hours= 0;
this.hours = 0;
this.minutes = 0;
this.seconds = 0;
this.milliseconds = 0;
this.timezone = tz || null;
this.utc = utc || false;
//Tricky part:
// For the cases where there are 1/2 arguments: `timezoneJS.Date(millis, [tz])` and `timezoneJS.Date(Date, [tz])`. The
// Date `dt` created should be in UTC. Thus the way I detect such cases is to determine if `arr` is not populated & `tz`
// is specified. Because if `tz` is not specified, `dt` can be in local time.
if (arr.length) {
this.setFromDateObjProxy(dt);
};
} else {
this.setFromTimeProxy(dt.getTime(), tz);
}
};
timezoneJS.Date.prototype = {
// Implements most of the native Date object
timezoneJS.Date.prototype = {
getDate: function () { return this.date; },
getDay: function () { return this._day; },
getFullYear: function () { return this.year; },
getMonth: function () { return this.month; },
getYear: function () { return this.year; },
getHours: function () {
return this.hours;
},
getMilliseconds: function () {
return this.milliseconds;
},
getMinutes: function () {
return this.minutes;
},
getSeconds: function () {
return this.seconds;
},
getHours: function () { return this.hours; },
getMilliseconds: function () { return this.milliseconds; },
getMinutes: function () { return this.minutes; },
getSeconds: function () { return this.seconds; },
getUTCDate: function () { return this.getUTCDateProxy().getUTCDate(); },
getUTCDay: function () { return this.getUTCDateProxy().getUTCDay(); },
getUTCFullYear: function () { return this.getUTCDateProxy().getUTCFullYear(); },
getUTCHours: function () { return this.getUTCDateProxy().getUTCHours(); },
getUTCMilliseconds: function () { return this.getUTCDateProxy().getUTCMilliseconds(); },
getUTCMinutes: function () { return this.getUTCDateProxy().getUTCMinutes(); },
getUTCMonth: function () { return this.getUTCDateProxy().getUTCMonth(); },
getUTCSeconds: function () { return this.getUTCDateProxy().getUTCSeconds(); },
// Time adjusted to user-specified timezone
getTime: function () {
var dt = Date.UTC(this.year, this.month, this.date,
this.hours, this.minutes, this.seconds, this.milliseconds);
return dt + (this.getTimezoneOffset()*60*1000);
},
getTimezone: function () {
return this.timezone;
},
getTimezoneOffset: function () {
var info = this.getTimezoneInfo();
return info.tzOffset;
},
getTimezoneAbbreviation: function () {
var info = this.getTimezoneInfo();
return info.tzAbbr;
return this._timeProxy + (this.getTimezoneOffset() * 60 * 1000);
},
getTimezone: function () { return this.timezone; },
getTimezoneOffset: function () { return this.getTimezoneInfo().tzOffset; },
getTimezoneAbbreviation: function () { return this.getTimezoneInfo().tzAbbr; },
getTimezoneInfo: function () {
if (this._useCache) return this._tzInfo;
var res;
if (this.utc) {
res = { tzOffset: 0,
tzAbbr: 'UTC' };
}
else {
if (this._useCache) {
res = this._tzInfo;
}
else {
// If timezone is specified, get the correct timezone info based on the Date given
if (this.timezone) {
var dt = new Date(Date.UTC(this.year, this.month, this.date,
this.hours, this.minutes, this.seconds, this.milliseconds));
var tz = this.timezone;
res = timezoneJS.timezone.getTzInfo(dt, tz);
res = this.timezone === 'Etc/UTC' || this.timezone === 'Etc/GMT'
? { tzOffset: 0, tzAbbr: 'UTC' }
: timezoneJS.timezone.getTzInfo(this._timeProxy, this.timezone);
}
// Floating -- use local offset
// If no timezone was specified, use the local browser offset
else {
res = { tzOffset: this.getLocalOffset(),
tzAbbr: null };
res = { tzOffset: this.getLocalOffset(), tzAbbr: null };
}
this._tzInfo = res;
this._useCache = true;
}
}
return res;
},
getUTCDate: function () {
return this.getUTCDateProxy().getUTCDate();
},
getUTCDay: function () {
return this.getUTCDateProxy().getUTCDay();
},
getUTCFullYear: function () {
return this.getUTCDateProxy().getUTCFullYear();
},
getUTCHours: function () {
return this.getUTCDateProxy().getUTCHours();
},
getUTCMilliseconds: function () {
return this.getUTCDateProxy().getUTCMilliseconds();
},
getUTCMinutes: function () {
return this.getUTCDateProxy().getUTCMinutes();
},
getUTCMonth: function () {
return this.getUTCDateProxy().getUTCMonth();
},
getUTCSeconds: function () {
return this.getUTCDateProxy().getUTCSeconds();
},
setDate: function (n) {
this.setAttribute('date', n);
},
setFullYear: function (n) {
this.setAttribute('year', n);
},
setMonth: function (n) {
this.setAttribute('month', n);
},
setYear: function (n) {
this.setUTCAttribute('year', n);
},
setHours: function (n) {
this.setAttribute('hours', n);
return res
},
setMilliseconds: function (n) {
this.setAttribute('milliseconds', n);
},
setMinutes: function (n) {
this.setAttribute('minutes', n);
},
setSeconds: function (n) {
this.setAttribute('seconds', n);
getUTCDateProxy: function () {
var dt = new Date(this._timeProxy);
dt.setUTCMinutes(dt.getUTCMinutes() + this.getTimezoneOffset());
return dt;
},
setDate: function (n) { this.setAttribute('date', n); },
setFullYear: function (n) { this.setAttribute('year', n); },
setMonth: function (n) { this.setAttribute('month', n); },
setYear: function (n) { this.setUTCAttribute('year', n); },
setHours: function (n) { this.setAttribute('hours', n); },
setMilliseconds: function (n) { this.setAttribute('milliseconds', n); },
setMinutes: function (n) { this.setAttribute('minutes', n); },
setSeconds: function (n) { this.setAttribute('seconds', n); },
setTime: function (n) {
if (isNaN(n)) { throw new Error('Units must be a number.'); }
var dt = new Date(0);
dt.setUTCMilliseconds(n - (this.getTimezoneOffset()*60*1000));
this.setFromDateObjProxy(dt, true);
},
setUTCDate: function (n) {
this.setUTCAttribute('date', n);
},
setUTCFullYear: function (n) {
this.setUTCAttribute('year', n);
},
setUTCHours: function (n) {
this.setUTCAttribute('hours', n);
},
setUTCMilliseconds: function (n) {
this.setUTCAttribute('milliseconds', n);
},
setUTCMinutes: function (n) {
this.setUTCAttribute('minutes', n);
},
setUTCMonth: function (n) {
this.setUTCAttribute('month', n);
},
setUTCSeconds: function (n) {
this.setUTCAttribute('seconds', n);
},
toGMTString: function () {},
toLocaleString: function () {},
toLocaleDateString: function () {},
toLocaleTimeString: function () {},
toSource: function () {},
toString: function () {
// Get a quick looky at what's in there
var str = this.getFullYear() + '-' + (this.getMonth()+1) + '-' + this.getDate();
var hou = this.getHours() || 12;
hou = String(hou);
var min = String(this.getMinutes());
if (min.length == 1) { min = '0' + min; }
var sec = String(this.getSeconds());
if (sec.length == 1) { sec = '0' + sec; }
str += ' ' + hou;
str += ':' + min;
str += ':' + sec;
return str;
},
toUTCString: function () {},
valueOf: function () {
return this.getTime();
},
clone: function () {
return new timezoneJS.Date(this.year, this.month, this.date,
this.hours, this.minutes, this.seconds, this.milliseconds,
this.timezone);
},
setFromDateObjProxy: function (dt, fromUTC) {
this.year = fromUTC ? dt.getUTCFullYear() : dt.getFullYear();
this.month = fromUTC ? dt.getUTCMonth() : dt.getMonth();
this.date = fromUTC ? dt.getUTCDate() : dt.getDate();
this.hours = fromUTC ? dt.getUTCHours() : dt.getHours();
this.minutes = fromUTC ? dt.getUTCMinutes() : dt.getMinutes();
this.seconds = fromUTC ? dt.getUTCSeconds() : dt.getSeconds();
this.milliseconds = fromUTC ? dt.getUTCMilliseconds() : dt.getMilliseconds();
this._day = fromUTC ? dt.getUTCDay() : dt.getDay();
this.setFromTimeProxy(n, this.timezone);
},
setUTCDate: function (n) { this.setUTCAttribute('date', n); },
setUTCFullYear: function (n) { this.setUTCAttribute('year', n); },
setUTCHours: function (n) { this.setUTCAttribute('hours', n); },
setUTCMilliseconds: function (n) { this.setUTCAttribute('milliseconds', n); },
setUTCMinutes: function (n) { this.setUTCAttribute('minutes', n); },
setUTCMonth: function (n) { this.setUTCAttribute('month', n); },
setUTCSeconds: function (n) { this.setUTCAttribute('seconds', n); },
setFromDateObjProxy: function (dt) {
this.year = dt.getFullYear();
this.month = dt.getMonth();
this.date = dt.getDate();
this.hours = dt.getHours();
this.minutes = dt.getMinutes();
this.seconds = dt.getSeconds();
this.milliseconds = dt.getMilliseconds();
this._day = dt.getDay();
this._dateProxy = dt;
this._timeProxy = Date.UTC(this.year, this.month, this.date, this.hours, this.minutes, this.seconds, this.milliseconds);
this._useCache = false;
},
getUTCDateProxy: function () {
var dt = new Date(Date.UTC(this.year, this.month, this.date,
this.hours, this.minutes, this.seconds, this.milliseconds));
dt.setUTCMinutes(dt.getUTCMinutes() + this.getTimezoneOffset());
return dt;
setFromTimeProxy: function (utcMillis, tz) {
var dt = new Date(utcMillis);
var tzOffset;
tzOffset = tz ? timezoneJS.timezone.getTzInfo(dt, tz).tzOffset : dt.getTimezoneOffset();
dt.setTime(utcMillis + (dt.getTimezoneOffset() - tzOffset) * 60000);
this.setFromDateObjProxy(dt);
},
setAttribute: function (unit, n) {
if (isNaN(n)) { throw new Error('Units must be a number.'); }
var dt = new Date(this.year, this.month, this.date,
this.hours, this.minutes, this.seconds, this.milliseconds);
var meth = unit == 'year' ? 'FullYear' : unit.substr(0, 1).toUpperCase() +
unit.substr(1);
var dt = this._dateProxy;
var meth = unit === 'year' ? 'FullYear' : unit.substr(0, 1).toUpperCase() + unit.substr(1);
dt['set' + meth](n);
this.setFromDateObjProxy(dt);
},
setUTCAttribute: function (unit, n) {
if (isNaN(n)) { throw new Error('Units must be a number.'); }
var meth = unit == 'year' ? 'FullYear' : unit.substr(0, 1).toUpperCase() +
unit.substr(1);
var meth = unit === 'year' ? 'FullYear' : unit.substr(0, 1).toUpperCase() + unit.substr(1);
var dt = this.getUTCDateProxy();
dt['setUTC' + meth](n);
dt.setUTCMinutes(dt.getUTCMinutes() - this.getTimezoneOffset());
this.setFromDateObjProxy(dt, true);
this.setFromTimeProxy(dt.getTime() + this.getTimezoneOffset() * 60000, this.timezone);
},
setTimezone: function (tz) {
if (tz == 'Etc/UTC' || tz == 'Etc/GMT') {
this.utc = true;
}
var previousOffset = this.getTimezoneInfo().tzOffset;
this.timezone = tz;
this._useCache = false;
// Set UTC minutes offsets by the delta of the two timezones
this.setUTCMinutes(this.getUTCMinutes() - this.getTimezoneInfo().tzOffset + previousOffset);
},
removeTimezone: function () {
this.utc = false;
this.timezone = null;
this._useCache = false;
},
valueOf: function () { return this.getTime(); },
clone: function () {
return this.timezone ? new timezoneJS.Date(this.getTime(), this.timezone) : new timezoneJS.Date(this.getTime());
},
toGMTString: function () { return this.toString('EEE, dd MMM yyyy HH:mm:ss Z', 'Etc/GMT'); },
toLocaleString: function () {},
toLocaleDateString: function () {},
toLocaleTimeString: function () {},
toSource: function () {},
toISOString: function () { return this.toString('yyyy-MM-ddTHH:mm:ss.SSS', 'Etc/UTC') + 'Z'; },
toJSON: function () { return this.toISOString(); },
// Allows different format following ISO8601 format:
toString: function (format, tz) {
// Default format is the same as toISOString
if (!format) format = 'yyyy-MM-dd HH:mm:ss';
var result = format;
var tzInfo = tz ? timezoneJS.timezone.getTzInfo(this.getTime(), tz) : this.getTimezoneInfo();
var _this = this;
// If timezone is specified, get a clone of the current Date object and modify it
if (tz) {
_this = this.clone();
_this.setTimezone(tz);
}
var hours = _this.getHours();
return result
// fix the same characters in Month names
.replace(/a+/g, function () { return 'k'; })
// `y`: year
.replace(/y+/g, function (token) { return _fixWidth(_this.getFullYear(), token.length); })
// `d`: date
.replace(/d+/g, function (token) { return _fixWidth(_this.getDate(), token.length); })
// `m`: minute
.replace(/m+/g, function (token) { return _fixWidth(_this.getMinutes(), token.length); })
// `s`: second
.replace(/s+/g, function (token) { return _fixWidth(_this.getSeconds(), token.length); })
// `S`: millisecond
.replace(/S+/g, function (token) { return _fixWidth(_this.getMilliseconds(), token.length); })
// `M`: month. Note: `MM` will be the numeric representation (e.g February is 02) but `MMM` will be text representation (e.g February is Feb)
.replace(/M+/g, function (token) {
var _month = _this.getMonth(),
_len = token.length;
if (_len > 3) {
return timezoneJS.Months[_month];
} else if (_len > 2) {
return timezoneJS.Months[_month].substring(0, _len);
}
return _fixWidth(_month + 1, _len);
})
// `k`: AM/PM
.replace(/k+/g, function () {
if (hours >= 12) {
if (hours > 12) {
hours -= 12;
}
return 'PM';
}
return 'AM';
})
// `H`: hour
.replace(/H+/g, function (token) { return _fixWidth(hours, token.length); })
// `E`: day
.replace(/E+/g, function (token) { return DAYS[_this.getDay()].substring(0, token.length); })
// `Z`: timezone abbreviation
.replace(/Z+/gi, function () { return tzInfo.tzAbbr; });
},
toUTCString: function () { return this.toGMTString(); },
civilToJulianDayNumber: function (y, m, d) {
var a;
// Adjust for zero-based JS-style array
......@@ -316,340 +400,307 @@ timezoneJS.Date.prototype = {
m += 12;
}
a = Math.floor(y / 100);
var b = 2 - a + Math.floor(a / 4);
jDt = Math.floor(365.25 * (y + 4716)) +
Math.floor(30.6001 * (m + 1)) +
d + b - 1524;
var b = 2 - a + Math.floor(a / 4)
, jDt = Math.floor(365.25 * (y + 4716)) + Math.floor(30.6001 * (m + 1)) + d + b - 1524;
return jDt;
},
getLocalOffset: function () {
var dt = this;
var d = new Date(dt.getYear(), dt.getMonth(), dt.getDate(),
dt.getHours(), dt.getMinutes(), dt.getSeconds());
return d.getTimezoneOffset();
return this._dateProxy.getTimezoneOffset();
}
};
};
timezoneJS.timezone = new function() {
var _this = this;
var monthMap = { 'jan': 0, 'feb': 1, 'mar': 2, 'apr': 3,'may': 4, 'jun': 5,
'jul': 6, 'aug': 7, 'sep': 8, 'oct': 9, 'nov': 10, 'dec': 11 };
var dayMap = {'sun': 0,'mon' :1, 'tue': 2, 'wed': 3, 'thu': 4, 'fri': 5, 'sat': 6 };
var regionMap = {'EST':'northamerica','MST':'northamerica','HST':'northamerica','EST5EDT':'northamerica','CST6CDT':'northamerica','MST7MDT':'northamerica','PST8PDT':'northamerica','America':'northamerica','Pacific':'australasia','Atlantic':'europe','Africa':'africa','Indian':'africa','Antarctica':'antarctica','Asia':'asia','Australia':'australasia','Europe':'europe','WET':'europe','CET':'europe','MET':'europe','EET':'europe'};
var regionExceptions = {'Pacific/Honolulu':'northamerica','Atlantic/Bermuda':'northamerica','Atlantic/Cape_Verde':'africa','Atlantic/St_Helena':'africa','Indian/Kerguelen':'antarctica','Indian/Chagos':'asia','Indian/Maldives':'asia','Indian/Christmas':'australasia','Indian/Cocos':'australasia','America/Danmarkshavn':'europe','America/Scoresbysund':'europe','America/Godthab':'europe','America/Thule':'europe','Asia/Yekaterinburg':'europe','Asia/Omsk':'europe','Asia/Novosibirsk':'europe','Asia/Krasnoyarsk':'europe','Asia/Irkutsk':'europe','Asia/Yakutsk':'europe','Asia/Vladivostok':'europe','Asia/Sakhalin':'europe','Asia/Magadan':'europe','Asia/Kamchatka':'europe','Asia/Anadyr':'europe','Africa/Ceuta':'europe','America/Argentina/Buenos_Aires':'southamerica','America/Argentina/Cordoba':'southamerica','America/Argentina/Tucuman':'southamerica','America/Argentina/La_Rioja':'southamerica','America/Argentina/San_Juan':'southamerica','America/Argentina/Jujuy':'southamerica','America/Argentina/Catamarca':'southamerica','America/Argentina/Mendoza':'southamerica','America/Argentina/Rio_Gallegos':'southamerica','America/Argentina/Ushuaia':'southamerica','America/Aruba':'southamerica','America/La_Paz':'southamerica','America/Noronha':'southamerica','America/Belem':'southamerica','America/Fortaleza':'southamerica','America/Recife':'southamerica','America/Araguaina':'southamerica','America/Maceio':'southamerica','America/Bahia':'southamerica','America/Sao_Paulo':'southamerica','America/Campo_Grande':'southamerica','America/Cuiaba':'southamerica','America/Porto_Velho':'southamerica','America/Boa_Vista':'southamerica','America/Manaus':'southamerica','America/Eirunepe':'southamerica','America/Rio_Branco':'southamerica','America/Santiago':'southamerica','Pacific/Easter':'southamerica','America/Bogota':'southamerica','America/Curacao':'southamerica','America/Guayaquil':'southamerica','Pacific/Galapagos':'southamerica','Atlantic/Stanley':'southamerica','America/Cayenne':'southamerica','America/Guyana':'southamerica','America/Asuncion':'southamerica','America/Lima':'southamerica','Atlantic/South_Georgia':'southamerica','America/Paramaribo':'southamerica','America/Port_of_Spain':'southamerica','America/Montevideo':'southamerica','America/Caracas':'southamerica'};
function invalidTZError(t) {
throw new Error('Timezone "' + t + '" is either incorrect, or not loaded in the timezone registry.');
}
timezoneJS.timezone = new function () {
var _this = this
, regionMap = {'Etc':'etcetera','EST':'northamerica','MST':'northamerica','HST':'northamerica','EST5EDT':'northamerica','CST6CDT':'northamerica','MST7MDT':'northamerica','PST8PDT':'northamerica','America':'northamerica','Pacific':'australasia','Atlantic':'europe','Africa':'africa','Indian':'africa','Antarctica':'antarctica','Asia':'asia','Australia':'australasia','Europe':'europe','WET':'europe','CET':'europe','MET':'europe','EET':'europe'}
, regionExceptions = {'Pacific/Honolulu':'northamerica','Atlantic/Bermuda':'northamerica','Atlantic/Cape_Verde':'africa','Atlantic/St_Helena':'africa','Indian/Kerguelen':'antarctica','Indian/Chagos':'asia','Indian/Maldives':'asia','Indian/Christmas':'australasia','Indian/Cocos':'australasia','America/Danmarkshavn':'europe','America/Scoresbysund':'europe','America/Godthab':'europe','America/Thule':'europe','Asia/Yekaterinburg':'europe','Asia/Omsk':'europe','Asia/Novosibirsk':'europe','Asia/Krasnoyarsk':'europe','Asia/Irkutsk':'europe','Asia/Yakutsk':'europe','Asia/Vladivostok':'europe','Asia/Sakhalin':'europe','Asia/Magadan':'europe','Asia/Kamchatka':'europe','Asia/Anadyr':'europe','Africa/Ceuta':'europe','America/Argentina/Buenos_Aires':'southamerica','America/Argentina/Cordoba':'southamerica','America/Argentina/Tucuman':'southamerica','America/Argentina/La_Rioja':'southamerica','America/Argentina/San_Juan':'southamerica','America/Argentina/Jujuy':'southamerica','America/Argentina/Catamarca':'southamerica','America/Argentina/Mendoza':'southamerica','America/Argentina/Rio_Gallegos':'southamerica','America/Argentina/Ushuaia':'southamerica','America/Aruba':'southamerica','America/La_Paz':'southamerica','America/Noronha':'southamerica','America/Belem':'southamerica','America/Fortaleza':'southamerica','America/Recife':'southamerica','America/Araguaina':'southamerica','America/Maceio':'southamerica','America/Bahia':'southamerica','America/Sao_Paulo':'southamerica','America/Campo_Grande':'southamerica','America/Cuiaba':'southamerica','America/Porto_Velho':'southamerica','America/Boa_Vista':'southamerica','America/Manaus':'southamerica','America/Eirunepe':'southamerica','America/Rio_Branco':'southamerica','America/Santiago':'southamerica','Pacific/Easter':'southamerica','America/Bogota':'southamerica','America/Curacao':'southamerica','America/Guayaquil':'southamerica','Pacific/Galapagos':'southamerica','Atlantic/Stanley':'southamerica','America/Cayenne':'southamerica','America/Guyana':'southamerica','America/Asuncion':'southamerica','America/Lima':'southamerica','Atlantic/South_Georgia':'southamerica','America/Paramaribo':'southamerica','America/Port_of_Spain':'southamerica','America/Montevideo':'southamerica','America/Caracas':'southamerica'};
function invalidTZError(t) { throw new Error('Timezone "' + t + '" is either incorrect, or not loaded in the timezone registry.'); }
function builtInLoadZoneFile(fileName, opts) {
var ajaxRequest = {
url: _this.zoneFileBasePath + '/' + fileName,
async: !!opts.async,
dataType: "text",
done: false,
success: function (str) {
if (_this.parseZones(str)) {
if (typeof opts.callback == 'function') {
var url = _this.zoneFileBasePath + '/' + fileName;
return !opts || !opts.async
? _this.parseZones(_this.transport({ url : url, async : false }))
: _this.transport({
async: true,
url : url,
success : function (str) {
if (_this.parseZones(str) && typeof opts.callback === 'function') {
opts.callback();
}
}
this.done = true;
return true;
},
error: function () {
throw new Error('Error retrieving "' + url + '" zoneinfo file.');
error : function () {
throw new Error('Error retrieving "' + url + '" zoneinfo files');
}
};
var res = $.ajax(ajaxRequest);
return ajaxRequest.done;
});
}
function getRegionForTimezone(tz) {
var exc = regionExceptions[tz];
var ret;
if (exc) {
return exc;
}
else {
var exc = regionExceptions[tz]
, reg
, ret;
if (exc) return exc;
reg = tz.split('/')[0];
ret = regionMap[reg];
// If there's nothing listed in the main regions for
// this TZ, check the 'backward' links
if (!ret) {
// If there's nothing listed in the main regions for this TZ, check the 'backward' links
if (ret) return ret;
var link = _this.zones[tz];
if (typeof link == 'string') {
if (typeof link === 'string') {
return getRegionForTimezone(link);
}
else {
// Backward-compat file hasn't loaded yet, try looking in there
if (!_this.loadedZones.backward) {
// This is for obvious legacy zones (e.g., Iceland) that
// don't even have a prefix like "America/" that look like
// normal zones
var parsed = _this.loadZoneFile('backward', true);
// This is for obvious legacy zones (e.g., Iceland) that don't even have a prefix like "America/" that look like normal zones
_this.loadZoneFile('backward');
return getRegionForTimezone(tz);
}
else {
invalidTZError(tz);
}
}
}
return ret;
}
}
function parseTimeString(str) {
var pat = /(\d+)(?::0*(\d*))?(?::0*(\d*))?([wsugz])?$/;
var hms = str.match(pat);
hms[1] = parseInt(hms[1], 10);
hms[2] = hms[2] ? parseInt(hms[2], 10) : 0;
hms[3] = hms[3] ? parseInt(hms[3], 10) : 0;
return hms;
}
function processZone(z) {
if (!z[3]) { return; }
var yea = parseInt(z[3], 10);
var mon = 11;
var dat = 31;
if (z[4]) {
mon = SHORT_MONTHS[z[4].substr(0, 3)];
dat = parseInt(z[5], 10) || 1;
}
var string = z[6] ? z[6] : '00:00:00'
, t = parseTimeString(string);
return [yea, mon, dat, t[1], t[2], t[3]];
}
function getZone(dt, tz) {
var utcMillis = typeof dt === 'number' ? dt : new Date(dt).getTime();
var t = tz;
var zoneList = _this.zones[t];
// Follow links to get to an acutal zone
while (typeof zoneList == "string") {
// Follow links to get to an actual zone
while (typeof zoneList === "string") {
t = zoneList;
zoneList = _this.zones[t];
}
if (!zoneList) {
// Backward-compat file hasn't loaded yet, try looking in there
if (!_this.loadedZones.backward) {
// This is for backward entries like "America/Fort_Wayne" that
//This is for backward entries like "America/Fort_Wayne" that
// getRegionForTimezone *thinks* it has a region file and zone
// for (e.g., America => 'northamerica'), but in reality it's a
// legacy zone we need the backward file for
var parsed = _this.loadZoneFile('backward', true);
// legacy zone we need the backward file for.
_this.loadZoneFile('backward');
return getZone(dt, tz);
}
invalidTZError(t);
}
for(var i = 0; i < zoneList.length; i++) {
var z = zoneList[i];
if (!z[3]) { break; }
var yea = parseInt(z[3], 10);
var mon = 11;
var dat = 31;
if (z[4]) {
mon = monthMap[z[4].substr(0, 3).toLowerCase()];
dat = parseInt(z[5], 10);
if (zoneList.length === 0) {
throw new Error('No Zone found for "' + tz + '" on ' + dt);
}
var t = z[6] ? z[6] : '23:59:59';
t = parseTimeString(t);
var d = Date.UTC(yea, mon, dat, t[1], t[2], t[3]);
if (dt.getTime() < d) { break; }
//Do backwards lookup since most use cases deal with newer dates.
for (var i = zoneList.length - 1; i >= 0; i--) {
var z = zoneList[i];
if (z[3] && utcMillis > z[3]) break;
}
if (i == zoneList.length) { throw new Error('No Zone found for "' + timezone + '" on ' + dt); }
return zoneList[i];
return zoneList[i+1];
}
function getBasicOffset(z) {
var off = parseTimeString(z[0]);
var adj = z[0].indexOf('-') == 0 ? -1 : 1
off = adj * (((off[1] * 60 + off[2]) *60 + off[3]) * 1000);
return -off/60/1000;
function getBasicOffset(time) {
var off = parseTimeString(time)
, adj = time.indexOf('-') === 0 ? -1 : 1;
off = adj * (((off[1] * 60 + off[2]) * 60 + off[3]) * 1000);
return off/60/1000;
}
// if isUTC is true, date is given in UTC, otherwise it's given
//if isUTC is true, date is given in UTC, otherwise it's given
// in local time (ie. date.getUTC*() returns local time components)
function getRule( date, zone, isUTC ) {
function getRule(dt, zone, isUTC) {
var date = typeof dt === 'number' ? new Date(dt) : dt;
var ruleset = zone[1];
var basicOffset = getBasicOffset( zone );
var basicOffset = zone[0];
// Convert a date to UTC. Depending on the 'type' parameter, the date
//Convert a date to UTC. Depending on the 'type' parameter, the date
// parameter may be:
// 'u', 'g', 'z': already UTC (no adjustment)
// 's': standard time (adjust for time zone offset but not for DST)
// 'w': wall clock time (adjust for both time zone and DST offset)
//
// DST adjustment is done using the rule given as third argument
var convertDateToUTC = function( date, type, rule ) {
// - `u`, `g`, `z`: already UTC (no adjustment).
//
// - `s`: standard time (adjust for time zone offset but not for DST)
//
// - `w`: wall clock time (adjust for both time zone and DST offset).
//
// DST adjustment is done using the rule given as third argument.
var convertDateToUTC = function (date, type, rule) {
var offset = 0;
if(type == 'u' || type == 'g' || type == 'z') { // UTC
if (type === 'u' || type === 'g' || type === 'z') { // UTC
offset = 0;
} else if(type == 's') { // Standard Time
} else if (type === 's') { // Standard Time
offset = basicOffset;
} else if(type == 'w' || !type ) { // Wall Clock Time
offset = getAdjustedOffset(basicOffset,rule);
} else if (type === 'w' || !type) { // Wall Clock Time
offset = getAdjustedOffset(basicOffset, rule);
} else {
throw("unknown type "+type);
throw("unknown type " + type);
}
offset *= 60*1000; // to millis
offset *= 60 * 1000; // to millis
return new Date( date.getTime() + offset );
}
return new Date(date.getTime() + offset);
};
// Step 1: Find applicable rules for this year.
// Step 2: Sort the rules by effective date.
// Step 3: Check requested date to see if a rule has yet taken effect this year. If not,
// Step 4: Get the rules for the previous year. If there isn't an applicable rule for last year, then
//Step 1: Find applicable rules for this year.
//
//Step 2: Sort the rules by effective date.
//
//Step 3: Check requested date to see if a rule has yet taken effect this year. If not,
//
//Step 4: Get the rules for the previous year. If there isn't an applicable rule for last year, then
// there probably is no current time offset since they seem to explicitly turn off the offset
// when someone stops observing DST.
//
// FIXME if this is not the case and we'll walk all the way back (ugh).
// Step 5: Sort the rules by effective date.
// Step 6: Apply the most recent rule before the current time.
var convertRuleToExactDateAndTime = function( yearAndRule, prevRule )
{
var year = yearAndRule[0];
var rule = yearAndRule[1];
//
//Step 5: Sort the rules by effective date.
//Step 6: Apply the most recent rule before the current time.
var convertRuleToExactDateAndTime = function (yearAndRule, prevRule) {
var year = yearAndRule[0]
, rule = yearAndRule[1];
// Assume that the rule applies to the year of the given date.
var months = {
"Jan": 0, "Feb": 1, "Mar": 2, "Apr": 3, "May": 4, "Jun": 5,
"Jul": 6, "Aug": 7, "Sep": 8, "Oct": 9, "Nov": 10, "Dec": 11
};
var days = {
"sun": 0, "mon": 1, "tue": 2, "wed": 3, "thu": 4, "fri": 5, "sat": 6
}
var hms = parseTimeString( rule[ 5 ] );
var hms = rule[5];
var effectiveDate;
if ( !isNaN( rule[ 4 ] ) ) // If we have a specific date, use that!
{
effectiveDate = new Date( Date.UTC( year, months[ rule[ 3 ] ], rule[ 4 ], hms[ 1 ], hms[ 2 ], hms[ 3 ], 0 ) );
}
else // Let's hunt for the date.
{
var targetDay,
operator;
if (!EXACT_DATE_TIME[year])
EXACT_DATE_TIME[year] = {};
if ( rule[ 4 ].substr( 0, 4 ) === "last" ) // Example: lastThu
{
// Result for given parameters is already stored
if (EXACT_DATE_TIME[year][rule])
effectiveDate = EXACT_DATE_TIME[year][rule];
else {
//If we have a specific date, use that!
if (!isNaN(rule[4])) {
effectiveDate = new Date(Date.UTC(year, SHORT_MONTHS[rule[3]], rule[4], hms[1], hms[2], hms[3], 0));
}
//Let's hunt for the date.
else {
var targetDay
, operator;
//Example: `lastThu`
if (rule[4].substr(0, 4) === "last") {
// Start at the last day of the month and work backward.
effectiveDate = new Date( Date.UTC( year, months[ rule[ 3 ] ] + 1, 1, hms[ 1 ] - 24, hms[ 2 ], hms[ 3 ], 0 ) );
targetDay = days[ rule[ 4 ].substr( 4, 3 ).toLowerCase( ) ];
effectiveDate = new Date(Date.UTC(year, SHORT_MONTHS[rule[3]] + 1, 1, hms[1] - 24, hms[2], hms[3], 0));
targetDay = SHORT_DAYS[rule[4].substr(4, 3)];
operator = "<=";
}
else // Example: Sun>=15
{
// Start at the specified date.
effectiveDate = new Date( Date.UTC( year, months[ rule[ 3 ] ], rule[ 4 ].substr( 5 ), hms[ 1 ], hms[ 2 ], hms[ 3 ], 0 ) );
targetDay = days[ rule[ 4 ].substr( 0, 3 ).toLowerCase( ) ];
operator = rule[ 4 ].substr( 3, 2 );
//Example: `Sun>=15`
else {
//Start at the specified date.
effectiveDate = new Date(Date.UTC(year, SHORT_MONTHS[rule[3]], rule[4].substr(5), hms[1], hms[2], hms[3], 0));
targetDay = SHORT_DAYS[rule[4].substr(0, 3)];
operator = rule[4].substr(3, 2);
}
var ourDay = effectiveDate.getUTCDay( );
if ( operator === ">=" ) // Go forwards.
{
effectiveDate.setUTCDate( effectiveDate.getUTCDate( ) + ( targetDay - ourDay + ( ( targetDay < ourDay ) ? 7 : 0 ) ) );
var ourDay = effectiveDate.getUTCDay();
//Go forwards.
if (operator === ">=") {
effectiveDate.setUTCDate(effectiveDate.getUTCDate() + (targetDay - ourDay + ((targetDay < ourDay) ? 7 : 0)));
}
else // Go backwards. Looking for the last of a certain day, or operator is "<=" (less likely).
{
effectiveDate.setUTCDate( effectiveDate.getUTCDate( ) + ( targetDay - ourDay - ( ( targetDay > ourDay ) ? 7 : 0 ) ) );
//Go backwards. Looking for the last of a certain day, or operator is "<=" (less likely).
else {
effectiveDate.setUTCDate(effectiveDate.getUTCDate() + (targetDay - ourDay - ((targetDay > ourDay) ? 7 : 0)));
}
}
// if previous rule is given, correct for the fact that the starting time of the current
// rule may be specified in local time
if(prevRule) {
effectiveDate = convertDateToUTC(effectiveDate, hms[4], prevRule);
EXACT_DATE_TIME[year][rule] = effectiveDate;
}
return effectiveDate;
}
var indexOf = function(array, what, startAt) {
if(array.indexOf) {
return array.indexOf(what,startAt);
}
for (var i = (startAt || 0); i < array.length; i++) {
if (array[i] == what) {
return i;
}
//If previous rule is given, correct for the fact that the starting time of the current
// rule may be specified in local time.
if (prevRule) {
effectiveDate = convertDateToUTC(effectiveDate, hms[4], prevRule);
}
return -1;
return effectiveDate;
};
var findApplicableRules = function( year, ruleset )
{
var findApplicableRules = function (year, ruleset) {
var applicableRules = [];
for ( var i in ruleset )
{
if ( Number( ruleset[ i ][ 0 ] ) <= year ) // Exclude future rules.
{
if (
Number( ruleset[ i ][ 1 ] ) >= year // Date is in a set range.
|| ( Number( ruleset[ i ][ 0 ] ) === year && ruleset[ i ][ 1 ] === "only" ) // Date is in an "only" year.
|| ruleset[ i ][ 1 ] === "max" // We're in a range from the start year to infinity.
for (var i = 0; ruleset && i < ruleset.length; i++) {
//Exclude future rules.
if (ruleset[i][0] <= year &&
(
// Date is in a set range.
ruleset[i][1] >= year ||
// Date is in an "only" year.
(ruleset[i][0] === year && ruleset[i][1] === "only") ||
//We're in a range from the start year to infinity.
ruleset[i][1] === "max"
)
{
// It's completely okay to have any number of matches here.
) {
//It's completely okay to have any number of matches here.
// Normally we should only see two, but that doesn't preclude other numbers of matches.
// These matches are applicable to this year.
applicableRules.push( [year, ruleset[ i ]] );
applicableRules.push([year, ruleset[i]]);
}
}
}
return applicableRules;
}
var compareDates = function( a, b, prev )
{
if ( a.constructor !== Date ) {
a = convertRuleToExactDateAndTime( a, prev );
} else if(prev) {
a = convertDateToUTC(a, isUTC?'u':'w', prev);
}
if ( b.constructor !== Date ) {
b = convertRuleToExactDateAndTime( b, prev );
} else if(prev) {
b = convertDateToUTC(b, isUTC?'u':'w', prev);
}
a = Number( a );
b = Number( b );
};
var compareDates = function (a, b, prev) {
var year, rule;
if (a.constructor !== Date) {
year = a[0];
rule = a[1];
a = (!prev && EXACT_DATE_TIME[year] && EXACT_DATE_TIME[year][rule])
? EXACT_DATE_TIME[year][rule]
: convertRuleToExactDateAndTime(a, prev);
} else if (prev) {
a = convertDateToUTC(a, isUTC ? 'u' : 'w', prev);
}
if (b.constructor !== Date) {
year = b[0];
rule = b[1];
b = (!prev && EXACT_DATE_TIME[year] && EXACT_DATE_TIME[year][rule]) ? EXACT_DATE_TIME[year][rule]
: convertRuleToExactDateAndTime(b, prev);
} else if (prev) {
b = convertDateToUTC(b, isUTC ? 'u' : 'w', prev);
}
a = Number(a);
b = Number(b);
return a - b;
}
};
var year = date.getUTCFullYear( );
var year = date.getUTCFullYear();
var applicableRules;
applicableRules = findApplicableRules( year, _this.rules[ ruleset ] );
applicableRules.push( date );
// While sorting, the time zone in which the rule starting time is specified
applicableRules = findApplicableRules(year, _this.rules[ruleset]);
applicableRules.push(date);
//While sorting, the time zone in which the rule starting time is specified
// is ignored. This is ok as long as the timespan between two DST changes is
// larger than the DST offset, which is probably always true.
// As the given date may indeed be close to a DST change, it may get sorted
// to a wrong position (off by one), which is corrected below.
applicableRules.sort( compareDates );
if ( indexOf(applicableRules, date ) < 2 ) { // If there are not enough past DST rules...
applicableRules = applicableRules.concat(findApplicableRules( year-1, _this.rules[ ruleset ] ));
applicableRules.sort( compareDates );
}
var pinpoint = indexOf(applicableRules, date);
if ( pinpoint > 1 && compareDates( date, applicableRules[pinpoint-1], applicableRules[pinpoint-2][1] ) < 0 ) {
// the previous rule does not really apply, take the one before that
return applicableRules[ pinpoint - 2 ][1];
} else if ( pinpoint > 0 && pinpoint < applicableRules.length - 1 && compareDates( date, applicableRules[pinpoint+1], applicableRules[pinpoint-1][1] ) > 0) {
// the next rule does already apply, take that one
return applicableRules[ pinpoint + 1 ][1];
} else if ( pinpoint === 0 ) {
// no applicable rule found in this and in previous year
applicableRules.sort(compareDates);
//If there are not enough past DST rules...
if (applicableRules.indexOf(date) < 2) {
applicableRules = applicableRules.concat(findApplicableRules(year-1, _this.rules[ruleset]));
applicableRules.sort(compareDates);
}
var pinpoint = applicableRules.indexOf(date);
if (pinpoint > 1 && compareDates(date, applicableRules[pinpoint-1], applicableRules[pinpoint-2][1]) < 0) {
//The previous rule does not really apply, take the one before that.
return applicableRules[pinpoint - 2][1];
} else if (pinpoint > 0 && pinpoint < applicableRules.length - 1 && compareDates(date, applicableRules[pinpoint+1], applicableRules[pinpoint-1][1]) > 0) {
//The next rule does already apply, take that one.
return applicableRules[pinpoint + 1][1];
} else if (pinpoint === 0) {
//No applicable rule found in this and in previous year.
return null;
} else {
return applicableRules[ pinpoint - 1 ][1];
}
return applicableRules[pinpoint - 1][1];
}
function getAdjustedOffset(off, rule) {
var save = rule[6];
var t = parseTimeString(save);
var adj = save.indexOf('-') == 0 ? -1 : 1;
var ret = (adj*(((t[1] *60 + t[2]) * 60 + t[3]) * 1000));
ret = ret/60/1000;
ret -= off
ret = -Math.ceil(ret);
return ret;
return -Math.ceil(rule[6] - off);
}
function getAbbreviation(zone, rule) {
var res;
......@@ -657,9 +708,9 @@ timezoneJS.timezone = new function() {
if (base.indexOf('%s') > -1) {
var repl;
if (rule) {
repl = rule[7]=='-'?'':rule[7];
repl = rule[7] === '-' ? '' : rule[7];
}
// FIXME: Right now just falling back to Standard --
//FIXME: Right now just falling back to Standard --
// apparently ought to use the last valid rule,
// although in practice that always ought to be Standard
else {
......@@ -668,10 +719,8 @@ timezoneJS.timezone = new function() {
res = base.replace('%s', repl);
}
else if (base.indexOf('/') > -1) {
// chose one of two alternative strings
var t = parseTimeString(rule[6]);
var isDst = (t[1])||(t[2])||(t[3]);
res = base.split("/",2)[isDst?1:0];
//Chose one of two alternative strings.
res = base.split("/", 2)[rule[6] ? 1 : 0];
} else {
res = base;
}
......@@ -679,57 +728,56 @@ timezoneJS.timezone = new function() {
}
this.zoneFileBasePath;
this.zoneFiles = ['africa', 'antarctica', 'asia',
'australasia', 'backward', 'etcetera', 'europe',
'northamerica', 'pacificnew', 'southamerica'];
this.zoneFiles = ['africa', 'antarctica', 'asia', 'australasia', 'backward', 'etcetera', 'europe', 'northamerica', 'pacificnew', 'southamerica'];
this.loadingSchemes = {
PRELOAD_ALL: 'preloadAll',
LAZY_LOAD: 'lazyLoad',
MANUAL_LOAD: 'manualLoad'
}
};
this.loadingScheme = this.loadingSchemes.LAZY_LOAD;
this.defaultZoneFile =
this.loadingScheme == this.loadingSchemes.PRELOAD_ALL ?
this.zoneFiles : 'northamerica';
this.loadedZones = {};
this.zones = {};
this.rules = {};
this.init = function (o) {
var opts = { async: true };
var sync = false;
var def = this.defaultZoneFile;
var parsed;
// Override default with any passed-in opts
var opts = { async: true }
, def = this.defaultZoneFile = this.loadingScheme === this.loadingSchemes.PRELOAD_ALL
? this.zoneFiles
: 'northamerica'
, done = 0
, callbackFn;
//Override default with any passed-in opts
for (var p in o) {
opts[p] = o[p];
}
if (typeof def == 'string') {
parsed = this.loadZoneFile(def, opts);
}
else {
if (opts.callback) {
throw new Error('Async load with callback is not supported for multiple default zonefiles.');
if (typeof def === 'string') {
return this.loadZoneFile(def, opts);
}
//Wraps callback function in another one that makes
// sure all files have been loaded.
callbackFn = opts.callback;
opts.callback = function () {
done++;
(done === def.length) && typeof callbackFn === 'function' && callbackFn();
};
for (var i = 0; i < def.length; i++) {
parsed = this.loadZoneFile(def[i], opts);
}
this.loadZoneFile(def[i], opts);
}
};
// Get the zone files via XHR -- if the sync flag
//Get the zone files via XHR -- if the sync flag
// is set to true, it's being called by the lazy-loading
// mechanism, so the result needs to be returned inline
// mechanism, so the result needs to be returned inline.
this.loadZoneFile = function (fileName, opts) {
if (typeof this.zoneFileBasePath == 'undefined') {
if (typeof this.zoneFileBasePath === 'undefined') {
throw new Error('Please define a base path to your zone file directory -- timezoneJS.timezone.zoneFileBasePath.');
}
// ========================
// Define your own transport mechanism here
// and comment out the default below
// ========================
var parsed = builtInLoadZoneFile(fileName, opts);
this.loadedZones[fileName] = parsed;
return parsed;
//Ignore already loaded zones.
if (this.loadedZones[fileName]) {
return;
}
this.loadedZones[fileName] = true;
return builtInLoadZoneFile(fileName, opts);
};
this.loadZoneJSONData = function (url, sync) {
var processData = function (data) {
......@@ -740,14 +788,10 @@ timezoneJS.timezone = new function() {
for (var r in data.rules) {
_this.rules[r] = data.rules[r];
}
}
if (sync) {
var data = fleegix.xhr.doGet(url);
processData(data);
}
else {
fleegix.xhr.doGet(processData, url);
}
};
return sync
? processData(_this.transport({ url : url, async : false }))
: _this.transport({ url : url, success : processData });
};
this.loadZoneDataFromObject = function (data) {
if (!data) { return; }
......@@ -758,18 +802,18 @@ timezoneJS.timezone = new function() {
_this.rules[r] = data.rules[r];
}
};
this.getAllZones = function() {
this.getAllZones = function () {
var arr = [];
for (z in this.zones) { arr.push(z); }
for (var z in this.zones) { arr.push(z); }
return arr.sort();
};
this.parseZones = function(str) {
var s = '';
var lines = str.split('\n');
var arr = [];
var chunk = '';
var zone = null;
var rule = null;
this.parseZones = function (str) {
var lines = str.split('\n')
, arr = []
, chunk = ''
, l
, zone = null
, rule = null;
for (var i = 0; i < lines.length; i++) {
l = lines[i];
if (l.match(/^\s/)) {
......@@ -779,60 +823,71 @@ timezoneJS.timezone = new function() {
if (l.length > 3) {
arr = l.split(/\s+/);
chunk = arr.shift();
switch(chunk) {
//Ignore Leap.
switch (chunk) {
case 'Zone':
zone = arr.shift();
if (!_this.zones[zone]) { _this.zones[zone] = [] }
if (!_this.zones[zone]) {
_this.zones[zone] = [];
}
if (arr.length < 3) break;
//Process zone right here and replace 3rd element with the processed array.
arr.splice(3, arr.length, processZone(arr));
if (arr[3]) arr[3] = Date.UTC.apply(null, arr[3]);
arr[0] = -getBasicOffset(arr[0]);
_this.zones[zone].push(arr);
break;
case 'Rule':
rule = arr.shift();
if (!_this.rules[rule]) { _this.rules[rule] = [] }
if (!_this.rules[rule]) {
_this.rules[rule] = [];
}
//Parse int FROM year and TO year
arr[0] = parseInt(arr[0], 10);
arr[1] = parseInt(arr[1], 10) || arr[1];
//Parse time string AT
arr[5] = parseTimeString(arr[5]);
//Parse offset SAVE
arr[6] = getBasicOffset(arr[6]);
_this.rules[rule].push(arr);
break;
case 'Link':
// No zones for these should already exist
//No zones for these should already exist.
if (_this.zones[arr[1]]) {
throw new Error('Error with Link ' + arr[1]);
throw new Error('Error with Link ' + arr[1] + '. Cannot create link of a preexisted zone.');
}
// Create the link
//Create the link.
_this.zones[arr[1]] = arr[0];
break;
case 'Leap':
break;
default:
// Fail silently
break;
}
}
}
return true;
};
this.getTzInfo = function(dt, tz, isUTC) {
// Lazy-load any zones not yet loaded
if (this.loadingScheme == this.loadingSchemes.LAZY_LOAD) {
// Get the correct region for the zone
//Expose transport mechanism and allow overwrite.
this.transport = _transport;
this.getTzInfo = function (dt, tz, isUTC) {
//Lazy-load any zones not yet loaded.
if (this.loadingScheme === this.loadingSchemes.LAZY_LOAD) {
//Get the correct region for the zone.
var zoneFile = getRegionForTimezone(tz);
if (!zoneFile) {
throw new Error('Not a valid timezone ID.');
}
else {
if (!this.loadedZones[zoneFile]) {
// Get the file and parse it -- use synchronous XHR
var parsed = this.loadZoneFile(zoneFile, true);
//Get the file and parse it -- use synchronous XHR.
this.loadZoneFile(zoneFile);
}
}
}
var zone = getZone(dt, tz);
var off = getBasicOffset(zone);
// See if the offset needs adjustment
var rule = getRule(dt, zone, isUTC);
var z = getZone(dt, tz);
var off = z[0];
//See if the offset needs adjustment.
var rule = getRule(dt, z, isUTC);
if (rule) {
off = getAdjustedOffset(off, rule);
}
var abbr = getAbbreviation(zone, rule);
var abbr = getAbbreviation(z, rule);
return { tzOffset: off, tzAbbr: abbr };
}
}
};
};
}).call(this);
# <pre>
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
# tz@iana.org for general use in the future).
# From Paul Eggert (2006-03-22):
#
# A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition),
# San Diego: ACS Publications, Inc. (2003).
#
# Gwillim Law writes that a good source
# for recent time zone data is the International Air Transport
# Association's Standard Schedules Information Manual (IATA SSIM),
# published semiannually. Law sent in several helpful summaries
# of the IATA's data after 1990.
#
# Except where otherwise noted, Shanks & Pottenger is the source for
# entries through 1990, and IATA SSIM is the source for entries afterwards.
#
# Another source occasionally used is Edward W. Whitman, World Time Differences,
# Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which
# I found in the UCLA library.
#
# A reliable and entertaining source about time zones is
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
#
# Previous editions of this database used WAT, CAT, SAT, and EAT
# for +0:00 through +3:00, respectively,
# but Mark R V Murray reports that
# `SAST' is the official abbreviation for +2:00 in the country of South Africa,
# `CAT' is commonly used for +2:00 in countries north of South Africa, and
# `WAT' is probably the best name for +1:00, as the common phrase for
# the area that includes Nigeria is ``West Africa''.
# He has heard of ``Western Sahara Time'' for +0:00 but can find no reference.
#
# To make things confusing, `WAT' seems to have been used for -1:00 long ago;
# I'd guess that this was because people needed _some_ name for -1:00,
# and at the time, far west Africa was the only major land area in -1:00.
# This usage is now obsolete, as the last use of -1:00 on the African
# mainland seems to have been 1976 in Western Sahara.
#
# To summarize, the following abbreviations seem to have some currency:
# -1:00 WAT West Africa Time (no longer used)
# 0:00 GMT Greenwich Mean Time
# 2:00 CAT Central Africa Time
# 2:00 SAST South Africa Standard Time
# and Murray suggests the following abbreviation:
# 1:00 WAT West Africa Time
# I realize that this leads to `WAT' being used for both -1:00 and 1:00
# for times before 1976, but this is the best I can think of
# until we get more information.
#
# I invented the following abbreviations; corrections are welcome!
# 2:00 WAST West Africa Summer Time
# 2:30 BEAT British East Africa Time (no longer used)
# 2:45 BEAUT British East Africa Unified Time (no longer used)
# 3:00 CAST Central Africa Summer Time (no longer used)
# 3:00 SAST South Africa Summer Time (no longer used)
# 3:00 EAT East Africa Time
# 4:00 EAST East Africa Summer Time (no longer used)
# Algeria
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Algeria 1916 only - Jun 14 23:00s 1:00 S
Rule Algeria 1916 1919 - Oct Sun>=1 23:00s 0 -
Rule Algeria 1917 only - Mar 24 23:00s 1:00 S
......@@ -21,6 +87,9 @@ Rule Algeria 1978 only - Mar 24 1:00 1:00 S
Rule Algeria 1978 only - Sep 22 3:00 0 -
Rule Algeria 1980 only - Apr 25 0:00 1:00 S
Rule Algeria 1980 only - Oct 31 2:00 0 -
# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
# more precise 0:09:21.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
0:00 Algeria WE%sT 1940 Feb 25 2:00
......@@ -31,45 +100,96 @@ Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01
1:00 Algeria CE%sT 1979 Oct 26
0:00 Algeria WE%sT 1981 May
1:00 - CET
# Angola
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Luanda 0:52:56 - LMT 1892
0:52:04 - AOT 1911 May 26 # Angola Time
1:00 - WAT
# Benin
# Whitman says they switched to 1:00 in 1946, not 1934;
# go with Shanks & Pottenger.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Porto-Novo 0:10:28 - LMT 1912
0:00 - GMT 1934 Feb 26
1:00 - WAT
# Botswana
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Gaborone 1:43:40 - LMT 1885
2:00 - CAT 1943 Sep 19 2:00
2:00 1:00 CAST 1944 Mar 19 2:00
2:00 - CAT
# Burkina Faso
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Ouagadougou -0:06:04 - LMT 1912
0:00 - GMT
# Burundi
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Bujumbura 1:57:28 - LMT 1890
2:00 - CAT
# Cameroon
# Whitman says they switched to 1:00 in 1920; go with Shanks & Pottenger.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Douala 0:38:48 - LMT 1912
1:00 - WAT
# Cape Verde
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Atlantic/Cape_Verde -1:34:04 - LMT 1907 # Praia
-2:00 - CVT 1942 Sep
-2:00 1:00 CVST 1945 Oct 15
-2:00 - CVT 1975 Nov 25 2:00
-1:00 - CVT
# Central African Republic
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Bangui 1:14:20 - LMT 1912
1:00 - WAT
# Chad
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Ndjamena 1:00:12 - LMT 1912
1:00 - WAT 1979 Oct 14
1:00 1:00 WAST 1980 Mar 8
1:00 - WAT
# Comoros
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Comoro 2:53:04 - LMT 1911 Jul # Moroni, Gran Comoro
3:00 - EAT
# Democratic Republic of Congo
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Kinshasa 1:01:12 - LMT 1897 Nov 9
1:00 - WAT
Zone Africa/Lubumbashi 1:49:52 - LMT 1897 Nov 9
2:00 - CAT
# Republic of the Congo
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Brazzaville 1:01:08 - LMT 1912
1:00 - WAT
# Cote D'Ivoire
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Abidjan -0:16:08 - LMT 1912
0:00 - GMT
# Djibouti
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Djibouti 2:52:36 - LMT 1911 Jul
3:00 - EAT
###############################################################################
# Egypt
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Egypt 1940 only - Jul 15 0:00 1:00 S
Rule Egypt 1940 only - Oct 1 0:00 0 -
Rule Egypt 1941 only - Apr 15 0:00 1:00 S
......@@ -89,57 +209,236 @@ Rule Egypt 1983 only - Jul 12 1:00 1:00 S
Rule Egypt 1984 1988 - May 1 1:00 1:00 S
Rule Egypt 1989 only - May 6 1:00 1:00 S
Rule Egypt 1990 1994 - May 1 1:00 1:00 S
Rule Egypt 1995 max - Apr lastFri 0:00s 1:00 S
# IATA (after 1990) says transitions are at 0:00.
# Go with IATA starting in 1995, except correct 1995 entry from 09-30 to 09-29.
# From Alexander Krivenyshev (2011-04-20):
# "...Egypt's interim cabinet decided on Wednesday to cancel daylight
# saving time after a poll posted on its website showed the majority of
# Egyptians would approve the cancellation."
#
# Egypt to cancel daylight saving time
# <a href="http://www.almasryalyoum.com/en/node/407168">
# http://www.almasryalyoum.com/en/node/407168
# </a>
# or
# <a href="http://www.worldtimezone.com/dst_news/dst_news_egypt04.html">
# http://www.worldtimezone.com/dst_news/dst_news_egypt04.html
# </a>
Rule Egypt 1995 2010 - Apr lastFri 0:00s 1:00 S
Rule Egypt 1995 2005 - Sep lastThu 23:00s 0 -
# From Steffen Thorsen (2006-09-19):
# The Egyptian Gazette, issue 41,090 (2006-09-18), page 1, reports:
# Egypt will turn back clocks by one hour at the midnight of Thursday
# after observing the daylight saving time since May.
# http://news.gom.com.eg/gazette/pdf/2006/09/18/01.pdf
Rule Egypt 2006 only - Sep 21 23:00s 0 -
# From Dirk Losch (2007-08-14):
# I received a mail from an airline which says that the daylight
# saving time in Egypt will end in the night of 2007-09-06 to 2007-09-07.
# From Jesper Norgaard Welen (2007-08-15): [The following agree:]
# http://www.nentjes.info/Bill/bill5.htm
# http://www.timeanddate.com/worldclock/city.html?n=53
# From Steffen Thorsen (2007-09-04): The official information...:
# http://www.sis.gov.eg/En/EgyptOnline/Miscellaneous/000002/0207000000000000001580.htm
Rule Egypt 2007 only - Sep Thu>=1 23:00s 0 -
# From Abdelrahman Hassan (2007-09-06):
# Due to the Hijri (lunar Islamic calendar) year being 11 days shorter
# than the year of the Gregorian calendar, Ramadan shifts earlier each
# year. This year it will be observed September 13 (September is quite
# hot in Egypt), and the idea is to make fasting easier for workers by
# shifting business hours one hour out of daytime heat. Consequently,
# unless discontinued, next DST may end Thursday 28 August 2008.
# From Paul Eggert (2007-08-17):
# For lack of better info, assume the new rule is last Thursday in August.
# From Petr Machata (2009-04-06):
# The following appeared in Red Hat bugzilla[1] (edited):
#
# > $ zdump -v /usr/share/zoneinfo/Africa/Cairo | grep 2009
# > /usr/share/zoneinfo/Africa/Cairo Thu Apr 23 21:59:59 2009 UTC = Thu =
# Apr 23
# > 23:59:59 2009 EET isdst=0 gmtoff=7200
# > /usr/share/zoneinfo/Africa/Cairo Thu Apr 23 22:00:00 2009 UTC = Fri =
# Apr 24
# > 01:00:00 2009 EEST isdst=1 gmtoff=10800
# > /usr/share/zoneinfo/Africa/Cairo Thu Aug 27 20:59:59 2009 UTC = Thu =
# Aug 27
# > 23:59:59 2009 EEST isdst=1 gmtoff=10800
# > /usr/share/zoneinfo/Africa/Cairo Thu Aug 27 21:00:00 2009 UTC = Thu =
# Aug 27
# > 23:00:00 2009 EET isdst=0 gmtoff=7200
#
# > end date should be Thu Sep 24 2009 (Last Thursday in September at 23:59=
# :59)
# > http://support.microsoft.com/kb/958729/
#
# timeanddate[2] and another site I've found[3] also support that.
#
# [1] <a href="https://bugzilla.redhat.com/show_bug.cgi?id=492263">
# https://bugzilla.redhat.com/show_bug.cgi?id=492263
# </a>
# [2] <a href="http://www.timeanddate.com/worldclock/clockchange.html?n=53">
# http://www.timeanddate.com/worldclock/clockchange.html?n=53
# </a>
# [3] <a href="http://wwp.greenwichmeantime.com/time-zone/africa/egypt/">
# http://wwp.greenwichmeantime.com/time-zone/africa/egypt/
# </a>
# From Arthur David Olson (2009-04-20):
# In 2009 (and for the next several years), Ramadan ends before the fourth
# Thursday in September; Egypt is expected to revert to the last Thursday
# in September.
# From Steffen Thorsen (2009-08-11):
# We have been able to confirm the August change with the Egyptian Cabinet
# Information and Decision Support Center:
# <a href="http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html">
# http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html
# </a>
#
# The Middle East News Agency
# <a href="http://www.mena.org.eg/index.aspx">
# http://www.mena.org.eg/index.aspx
# </a>
# also reports "Egypt starts winter time on August 21"
# today in article numbered "71, 11/08/2009 12:25 GMT."
# Only the title above is available without a subscription to their service,
# and can be found by searching for "winter" in their search engine
# (at least today).
# From Alexander Krivenyshev (2010-07-20):
# According to News from Egypt - Al-Masry Al-Youm Egypt's cabinet has
# decided that Daylight Saving Time will not be used in Egypt during
# Ramadan.
#
# Arabic translation:
# "Clocks to go back during Ramadan--and then forward again"
# <a href="http://www.almasryalyoum.com/en/news/clocks-go-back-during-ramadan-and-then-forward-again">
# http://www.almasryalyoum.com/en/news/clocks-go-back-during-ramadan-and-then-forward-again
# </a>
# or
# <a href="http://www.worldtimezone.com/dst_news/dst_news_egypt02.html">
# http://www.worldtimezone.com/dst_news/dst_news_egypt02.html
# </a>
Rule Egypt 2008 only - Aug lastThu 23:00s 0 -
Rule Egypt 2009 only - Aug 20 23:00s 0 -
Rule Egypt 2010 only - Aug 11 0:00 0 -
Rule Egypt 2010 only - Sep 10 0:00 1:00 S
Rule Egypt 2010 max - Sep lastThu 23:00s 0 -
Rule Egypt 2010 only - Sep lastThu 23:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Cairo 2:05:00 - LMT 1900 Oct
2:00 Egypt EE%sT
# Equatorial Guinea
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Malabo 0:35:08 - LMT 1912
0:00 - GMT 1963 Dec 15
1:00 - WAT
# Eritrea
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Asmara 2:35:32 - LMT 1870
2:35:32 - AMT 1890 # Asmara Mean Time
2:35:20 - ADMT 1936 May 5 # Adis Dera MT
3:00 - EAT
# Ethiopia
# From Paul Eggert (2006-03-22):
# Shanks & Pottenger write that Ethiopia had six narrowly-spaced time zones
# between 1870 and 1890, and that they merged to 38E50 (2:35:20) in 1890.
# We'll guess that 38E50 is for Adis Dera.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Addis_Ababa 2:34:48 - LMT 1870
2:35:20 - ADMT 1936 May 5 # Adis Dera MT
3:00 - EAT
# Gabon
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Libreville 0:37:48 - LMT 1912
1:00 - WAT
# Gambia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Banjul -1:06:36 - LMT 1912
-1:06:36 - BMT 1935 # Banjul Mean Time
-1:00 - WAT 1964
0:00 - GMT
# Ghana
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
# Whitman says DST was observed from 1931 to ``the present'';
# go with Shanks & Pottenger.
Rule Ghana 1936 1942 - Sep 1 0:00 0:20 GHST
Rule Ghana 1936 1942 - Dec 31 0:00 0 GMT
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Accra -0:00:52 - LMT 1918
0:00 Ghana %s
# Guinea
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Conakry -0:54:52 - LMT 1912
0:00 - GMT 1934 Feb 26
-1:00 - WAT 1960
0:00 - GMT
# Guinea-Bissau
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Bissau -1:02:20 - LMT 1911 May 26
-1:00 - WAT 1975
0:00 - GMT
# Kenya
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Nairobi 2:27:16 - LMT 1928 Jul
3:00 - EAT 1930
2:30 - BEAT 1940
2:44:45 - BEAUT 1960
2:45 - BEAUT 1960
3:00 - EAT
# Lesotho
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Maseru 1:50:00 - LMT 1903 Mar
2:00 - SAST 1943 Sep 19 2:00
2:00 1:00 SAST 1944 Mar 19 2:00
2:00 - SAST
# Liberia
# From Paul Eggert (2006-03-22):
# In 1972 Liberia was the last country to switch
# from a UTC offset that was not a multiple of 15 or 20 minutes.
# Howse reports that it was in honor of their president's birthday.
# Shank & Pottenger report the date as May 1, whereas Howse reports Jan;
# go with Shanks & Pottenger.
# For Liberia before 1972, Shanks & Pottenger report -0:44, whereas Howse and
# Whitman each report -0:44:30; go with the more precise figure.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Monrovia -0:43:08 - LMT 1882
-0:43:08 - MMT 1919 Mar # Monrovia Mean Time
-0:44:30 - LRT 1972 May # Liberia Time
0:00 - GMT
###############################################################################
# Libya
# From Even Scharning (2012-11-10):
# Libya set their time one hour back at 02:00 on Saturday November 10.
# http://www.libyaherald.com/2012/11/04/clocks-to-go-back-an-hour-on-saturday/
# Here is an official source [in Arabic]: http://ls.ly/fb6Yc
#
# Steffen Thorsen forwarded a translation (2012-11-10) in
# http://mm.icann.org/pipermail/tz/2012-November/018451.html
#
# From Tim Parenti (2012-11-11):
# Treat the 2012-11-10 change as a zone change from UTC+2 to UTC+1.
# The DST rules planned for 2013 and onward roughly mirror those of Europe
# (either two days before them or five days after them, so as to fall on
# lastFri instead of lastSun).
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Libya 1951 only - Oct 14 2:00 1:00 S
Rule Libya 1952 only - Jan 1 0:00 0 -
Rule Libya 1953 only - Oct 9 2:00 1:00 S
......@@ -153,36 +452,389 @@ Rule Libya 1986 only - Apr 4 0:00 1:00 S
Rule Libya 1986 only - Oct 3 0:00 0 -
Rule Libya 1987 1989 - Apr 1 0:00 1:00 S
Rule Libya 1987 1989 - Oct 1 0:00 0 -
Rule Libya 1997 only - Apr 4 0:00 1:00 S
Rule Libya 1997 only - Oct 4 0:00 0 -
Rule Libya 2013 max - Mar lastFri 1:00 1:00 S
Rule Libya 2013 max - Oct lastFri 2:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Tripoli 0:52:44 - LMT 1920
1:00 Libya CE%sT 1959
2:00 - EET 1982
1:00 Libya CE%sT 1990 May 4
# The 1996 and 1997 entries are from Shanks & Pottenger;
# the IATA SSIM data contain some obvious errors.
2:00 - EET 1996 Sep 30
1:00 - CET 1997 Apr 4
1:00 1:00 CEST 1997 Oct 4
2:00 - EET
1:00 Libya CE%sT 1997 Oct 4
2:00 - EET 2012 Nov 10 2:00
1:00 Libya CE%sT
# Madagascar
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Antananarivo 3:10:04 - LMT 1911 Jul
3:00 - EAT 1954 Feb 27 23:00s
3:00 1:00 EAST 1954 May 29 23:00s
3:00 - EAT
# Malawi
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Blantyre 2:20:00 - LMT 1903 Mar
2:00 - CAT
# Mali
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Bamako -0:32:00 - LMT 1912
0:00 - GMT 1934 Feb 26
-1:00 - WAT 1960 Jun 20
0:00 - GMT
# Mauritania
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Nouakchott -1:03:48 - LMT 1912
0:00 - GMT 1934 Feb 26
-1:00 - WAT 1960 Nov 28
0:00 - GMT
# Mauritius
# From Steffen Thorsen (2008-06-25):
# Mauritius plans to observe DST from 2008-11-01 to 2009-03-31 on a trial
# basis....
# It seems that Mauritius observed daylight saving time from 1982-10-10 to
# 1983-03-20 as well, but that was not successful....
# http://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html
# From Alex Krivenyshev (2008-06-25):
# http://economicdevelopment.gov.mu/portal/site/Mainhomepage/menuitem.a42b24128104d9845dabddd154508a0c/?content_id=0a7cee8b5d69a110VgnVCM1000000a04a8c0RCRD
# From Arthur David Olson (2008-06-30):
# The www.timeanddate.com article cited by Steffen Thorsen notes that "A
# final decision has yet to be made on the times that daylight saving
# would begin and end on these dates." As a place holder, use midnight.
# From Paul Eggert (2008-06-30):
# Follow Thorsen on DST in 1982/1983, instead of Shanks & Pottenger.
# From Steffen Thorsen (2008-07-10):
# According to
# <a href="http://www.lexpress.mu/display_article.php?news_id=111216">
# http://www.lexpress.mu/display_article.php?news_id=111216
# </a>
# (in French), Mauritius will start and end their DST a few days earlier
# than previously announced (2008-11-01 to 2009-03-31). The new start
# date is 2008-10-26 at 02:00 and the new end date is 2009-03-27 (no time
# given, but it is probably at either 2 or 3 wall clock time).
#
# A little strange though, since the article says that they moved the date
# to align itself with Europe and USA which also change time on that date,
# but that means they have not paid attention to what happened in
# USA/Canada last year (DST ends first Sunday in November). I also wonder
# why that they end on a Friday, instead of aligning with Europe which
# changes two days later.
# From Alex Krivenyshev (2008-07-11):
# Seems that English language article "The revival of daylight saving
# time: Energy conservation?"-# No. 16578 (07/11/2008) was originally
# published on Monday, June 30, 2008...
#
# I guess that article in French "Le gouvernement avance l'introduction
# de l'heure d'ete" stating that DST in Mauritius starting on October 26
# and ending on March 27, 2009 is the most recent one.
# ...
# <a href="http://www.worldtimezone.com/dst_news/dst_news_mauritius02.html">
# http://www.worldtimezone.com/dst_news/dst_news_mauritius02.html
# </a>
# From Riad M. Hossen Ally (2008-08-03):
# The Government of Mauritius weblink
# <a href="http://www.gov.mu/portal/site/pmosite/menuitem.4ca0efdee47462e7440a600248a521ca/?content_id=4728ca68b2a5b110VgnVCM1000000a04a8c0RCRD">
# http://www.gov.mu/portal/site/pmosite/menuitem.4ca0efdee47462e7440a600248a521ca/?content_id=4728ca68b2a5b110VgnVCM1000000a04a8c0RCRD
# </a>
# Cabinet Decision of July 18th, 2008 states as follows:
#
# 4. ...Cabinet has agreed to the introduction into the National Assembly
# of the Time Bill which provides for the introduction of summer time in
# Mauritius. The summer time period which will be of one hour ahead of
# the standard time, will be aligned with that in Europe and the United
# States of America. It will start at two o'clock in the morning on the
# last Sunday of October and will end at two o'clock in the morning on
# the last Sunday of March the following year. The summer time for the
# year 2008 - 2009 will, therefore, be effective as from 26 October 2008
# and end on 29 March 2009.
# From Ed Maste (2008-10-07):
# THE TIME BILL (No. XXVII of 2008) Explanatory Memorandum states the
# beginning / ending of summer time is 2 o'clock standard time in the
# morning of the last Sunday of October / last Sunday of March.
# <a href="http://www.gov.mu/portal/goc/assemblysite/file/bill2708.pdf">
# http://www.gov.mu/portal/goc/assemblysite/file/bill2708.pdf
# </a>
# From Steffen Thorsen (2009-06-05):
# According to several sources, Mauritius will not continue to observe
# DST the coming summer...
#
# Some sources, in French:
# <a href="http://www.defimedia.info/news/946/Rashid-Beebeejaun-:-%C2%AB-L%E2%80%99heure-d%E2%80%99%C3%A9t%C3%A9-ne-sera-pas-appliqu%C3%A9e-cette-ann%C3%A9e-%C2%BB">
# http://www.defimedia.info/news/946/Rashid-Beebeejaun-:-%C2%AB-L%E2%80%99heure-d%E2%80%99%C3%A9t%C3%A9-ne-sera-pas-appliqu%C3%A9e-cette-ann%C3%A9e-%C2%BB
# </a>
# <a href="http://lexpress.mu/Story/3398~Beebeejaun---Les-objectifs-d-%C3%A9conomie-d-%C3%A9nergie-de-l-heure-d-%C3%A9t%C3%A9-ont-%C3%A9t%C3%A9-atteints-">
# http://lexpress.mu/Story/3398~Beebeejaun---Les-objectifs-d-%C3%A9conomie-d-%C3%A9nergie-de-l-heure-d-%C3%A9t%C3%A9-ont-%C3%A9t%C3%A9-atteints-
# </a>
#
# Our wrap-up:
# <a href="http://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html">
# http://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html
# </a>
# From Arthur David Olson (2009-07-11):
# The "mauritius-dst-will-not-repeat" wrapup includes this:
# "The trial ended on March 29, 2009, when the clocks moved back by one hour
# at 2am (or 02:00) local time..."
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Mauritius 1982 only - Oct 10 0:00 1:00 S
Rule Mauritius 1983 only - Mar 21 0:00 0 -
Rule Mauritius 2008 only - Oct lastSun 2:00 1:00 S
Rule Mauritius 2009 only - Mar lastSun 2:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
4:00 Mauritius MU%sT # Mauritius Time
# Agalega Is, Rodriguez
# no information; probably like Indian/Mauritius
# Mayotte
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou
3:00 - EAT
# Morocco
# See the `europe' file for Spanish Morocco (Africa/Ceuta).
# From Alex Krivenyshev (2008-05-09):
# Here is an article that Morocco plan to introduce Daylight Saving Time between
# 1 June, 2008 and 27 September, 2008.
#
# "... Morocco is to save energy by adjusting its clock during summer so it will
# be one hour ahead of GMT between 1 June and 27 September, according to
# Communication Minister and Gov ernment Spokesman, Khalid Naciri...."
#
# <a href="http://www.worldtimezone.net/dst_news/dst_news_morocco01.html">
# http://www.worldtimezone.net/dst_news/dst_news_morocco01.html
# </a>
# OR
# <a href="http://en.afrik.com/news11892.html">
# http://en.afrik.com/news11892.html
# </a>
# From Alex Krivenyshev (2008-05-09):
# The Morocco time change can be confirmed on Morocco web site Maghreb Arabe Presse:
# <a href="http://www.map.ma/eng/sections/box3/morocco_shifts_to_da/view">
# http://www.map.ma/eng/sections/box3/morocco_shifts_to_da/view
# </a>
#
# Morocco shifts to daylight time on June 1st through September 27, Govt.
# spokesman.
# From Patrice Scattolin (2008-05-09):
# According to this article:
# <a href="http://www.avmaroc.com/actualite/heure-dete-comment-a127896.html">
# http://www.avmaroc.com/actualite/heure-dete-comment-a127896.html
# </a>
# (and republished here:
# <a href="http://www.actu.ma/heure-dete-comment_i127896_0.html">
# http://www.actu.ma/heure-dete-comment_i127896_0.html
# </a>
# )
# the changes occurs at midnight:
#
# saturday night may 31st at midnight (which in french is to be
# intrepreted as the night between saturday and sunday)
# sunday night the 28th at midnight
#
# Seeing that the 28th is monday, I am guessing that she intends to say
# the midnight of the 28th which is the midnight between sunday and
# monday, which jives with other sources that say that it's inclusive
# june1st to sept 27th.
#
# The decision was taken by decree *2-08-224 *but I can't find the decree
# published on the web.
#
# It's also confirmed here:
# <a href="http://www.maroc.ma/NR/exeres/FACF141F-D910-44B0-B7FA-6E03733425D1.htm">
# http://www.maroc.ma/NR/exeres/FACF141F-D910-44B0-B7FA-6E03733425D1.htm
# </a>
# on a government portal as being between june 1st and sept 27th (not yet
# posted in english).
#
# The following google query will generate many relevant hits:
# <a href="http://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search">
# http://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search
# </a>
# From Alex Krivenyshev (2008-05-09):
# Is Western Sahara (part which administrated by Morocco) going to follow
# Morocco DST changes? Any information? What about other part of
# Western Sahara - under administration of POLISARIO Front (also named
# SADR Saharawi Arab Democratic Republic)?
# From Arthur David Olson (2008-05-09):
# XXX--guess that it is only Morocco for now; guess only 2008 for now.
# From Steffen Thorsen (2008-08-27):
# Morocco will change the clocks back on the midnight between August 31
# and September 1. They originally planned to observe DST to near the end
# of September:
#
# One article about it (in French):
# <a href="http://www.menara.ma/fr/Actualites/Maroc/Societe/ci.retour_a_l_heure_gmt_a_partir_du_dimanche_31_aout_a_minuit_officiel_.default">
# http://www.menara.ma/fr/Actualites/Maroc/Societe/ci.retour_a_l_heure_gmt_a_partir_du_dimanche_31_aout_a_minuit_officiel_.default
# </a>
#
# We have some further details posted here:
# <a href="http://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html">
# http://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html
# </a>
# From Steffen Thorsen (2009-03-17):
# Morocco will observe DST from 2009-06-01 00:00 to 2009-08-21 00:00 according
# to many sources, such as
# <a href="http://news.marweb.com/morocco/entertainment/morocco-daylight-saving.html">
# http://news.marweb.com/morocco/entertainment/morocco-daylight-saving.html
# </a>
# <a href="http://www.medi1sat.ma/fr/depeche.aspx?idp=2312">
# http://www.medi1sat.ma/fr/depeche.aspx?idp=2312
# </a>
# (French)
#
# Our summary:
# <a href="http://www.timeanddate.com/news/time/morocco-starts-dst-2009.html">
# http://www.timeanddate.com/news/time/morocco-starts-dst-2009.html
# </a>
# From Alexander Krivenyshev (2009-03-17):
# Here is a link to official document from Royaume du Maroc Premier Ministre,
# Ministere de la Modernisation des Secteurs Publics
#
# Under Article 1 of Royal Decree No. 455-67 of Act 23 safar 1387 (2 june 1967)
# concerning the amendment of the legal time, the Ministry of Modernization of
# Public Sectors announced that the official time in the Kingdom will be
# advanced 60 minutes from Sunday 31 May 2009 at midnight.
#
# <a href="http://www.mmsp.gov.ma/francais/Actualites_fr/PDF_Actualites_Fr/HeureEte_FR.pdf">
# http://www.mmsp.gov.ma/francais/Actualites_fr/PDF_Actualites_Fr/HeureEte_FR.pdf
# </a>
#
# <a href="http://www.worldtimezone.com/dst_news/dst_news_morocco03.html">
# http://www.worldtimezone.com/dst_news/dst_news_morocco03.html
# </a>
# From Steffen Thorsen (2010-04-13):
# Several news media in Morocco report that the Ministry of Modernization
# of Public Sectors has announced that Morocco will have DST from
# 2010-05-02 to 2010-08-08.
#
# Example:
# <a href="http://www.lavieeco.com/actualites/4099-le-maroc-passera-a-l-heure-d-ete-gmt1-le-2-mai.html">
# http://www.lavieeco.com/actualites/4099-le-maroc-passera-a-l-heure-d-ete-gmt1-le-2-mai.html
# </a>
# (French)
# Our page:
# <a href="http://www.timeanddate.com/news/time/morocco-starts-dst-2010.html">
# http://www.timeanddate.com/news/time/morocco-starts-dst-2010.html
# </a>
# From Dan Abitol (2011-03-30):
# ...Rules for Africa/Casablanca are the following (24h format)
# The 3rd april 2011 at 00:00:00, [it] will be 3rd april 1:00:00
# The 31th july 2011 at 00:59:59, [it] will be 31th July 00:00:00
# ...Official links of change in morocco
# The change was broadcast on the FM Radio
# I ve called ANRT (telecom regulations in Morocco) at
# +212.537.71.84.00
# <a href="http://www.anrt.net.ma/fr/">
# http://www.anrt.net.ma/fr/
# </a>
# They said that
# <a href="http://www.map.ma/fr/sections/accueil/l_heure_legale_au_ma/view">
# http://www.map.ma/fr/sections/accueil/l_heure_legale_au_ma/view
# </a>
# is the official publication to look at.
# They said that the decision was already taken.
#
# More articles in the press
# <a href="http://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-lev">
# http://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-lev
# </a>
# e.html
# <a href="http://www.lematin.ma/Actualite/Express/Article.asp?id=148923">
# http://www.lematin.ma/Actualite/Express/Article.asp?id=148923
# </a>
# <a href="http://www.lavieeco.com/actualite/Le-Maroc-passe-sur-GMT%2B1-a-partir-de-dim">
# http://www.lavieeco.com/actualite/Le-Maroc-passe-sur-GMT%2B1-a-partir-de-dim
# anche-prochain-5538.html
# </a>
# From Petr Machata (2011-03-30):
# They have it written in English here:
# <a href="http://www.map.ma/eng/sections/home/morocco_to_spring_fo/view">
# http://www.map.ma/eng/sections/home/morocco_to_spring_fo/view
# </a>
#
# It says there that "Morocco will resume its standard time on July 31,
# 2011 at midnight." Now they don't say whether they mean midnight of
# wall clock time (i.e. 11pm UTC), but that's what I would assume. It has
# also been like that in the past.
# From Alexander Krivenyshev (2012-03-09):
# According to Infom&eacute;diaire web site from Morocco (infomediaire.ma),
# on March 9, 2012, (in French) Heure l&eacute;gale:
# Le Maroc adopte officiellement l'heure d'&eacute;t&eacute;
# <a href="http://www.infomediaire.ma/news/maroc/heure-l%C3%A9gale-le-maroc-adopte-officiellement-lheure-d%C3%A9t%C3%A9">
# http://www.infomediaire.ma/news/maroc/heure-l%C3%A9gale-le-maroc-adopte-officiellement-lheure-d%C3%A9t%C3%A9
# </a>
# Governing Council adopted draft decree, that Morocco DST starts on
# the last Sunday of March (March 25, 2012) and ends on
# last Sunday of September (September 30, 2012)
# except the month of Ramadan.
# or (brief)
# <a href="http://www.worldtimezone.com/dst_news/dst_news_morocco06.html">
# http://www.worldtimezone.com/dst_news/dst_news_morocco06.html
# </a>
# From Arthur David Olson (2012-03-10):
# The infomediaire.ma source indicates that the system is to be in
# effect every year. It gives 03H00 as the "fall back" time of day;
# it lacks a "spring forward" time of day; assume 2:00 XXX.
# Wait on specifying the Ramadan exception for details about
# start date, start time of day, end date, and end time of day XXX.
# From Christophe Tropamer (2012-03-16):
# Seen Morocco change again:
# <a href="http://www.le2uminutes.com/actualite.php">
# http://www.le2uminutes.com/actualite.php
# </a>
# "...&agrave; partir du dernier dimance d'avril et non fins mars,
# comme annonc&eacute; pr&eacute;c&eacute;demment."
# From Milamber Space Network (2012-07-17):
# The official return to GMT is announced by the Moroccan government:
# <a href="http://www.mmsp.gov.ma/fr/actualites.aspx?id=288">
# http://www.mmsp.gov.ma/fr/actualites.aspx?id=288 [in French]
# </a>
#
# Google translation, lightly edited:
# Back to the standard time of the Kingdom (GMT)
# Pursuant to Decree No. 2-12-126 issued on 26 Jumada (I) 1433 (April 18,
# 2012) and in accordance with the order of Mr. President of the
# Government No. 3-47-12 issued on 24 Sha'ban (11 July 2012), the Ministry
# of Public Service and Administration Modernization announces the return
# of the legal time of the Kingdom (GMT) from Friday, July 20, 2012 until
# Monday, August 20, 2012. So the time will be delayed by 60 minutes from
# 3:00 am Friday, July 20, 2012 and will again be advanced by 60 minutes
# August 20, 2012 from 2:00 am.
# RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Morocco 1939 only - Sep 12 0:00 1:00 S
Rule Morocco 1939 only - Nov 19 0:00 0 -
Rule Morocco 1940 only - Feb 25 0:00 1:00 S
......@@ -204,17 +856,49 @@ Rule Morocco 2009 only - Jun 1 0:00 1:00 S
Rule Morocco 2009 only - Aug 21 0:00 0 -
Rule Morocco 2010 only - May 2 0:00 1:00 S
Rule Morocco 2010 only - Aug 8 0:00 0 -
Rule Morocco 2011 only - Apr 3 0:00 1:00 S
Rule Morocco 2011 only - Jul 31 0 0 -
Rule Morocco 2012 max - Apr lastSun 2:00 1:00 S
Rule Morocco 2012 max - Sep lastSun 3:00 0 -
Rule Morocco 2012 only - Jul 20 3:00 0 -
Rule Morocco 2012 only - Aug 20 2:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
0:00 Morocco WE%sT 1984 Mar 16
1:00 - CET 1986
0:00 Morocco WE%sT
# Western Sahara
Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan
-1:00 - WAT 1976 Apr 14
0:00 - WET
# Mozambique
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Maputo 2:10:20 - LMT 1903 Mar
2:00 - CAT
# Namibia
# The 1994-04-03 transition is from Shanks & Pottenger.
# Shanks & Pottenger report no DST after 1998-04; go with IATA.
# From Petronella Sibeene (2007-03-30) in
# <http://allafrica.com/stories/200703300178.html>:
# While the entire country changes its time, Katima Mulilo and other
# settlements in Caprivi unofficially will not because the sun there
# rises and sets earlier compared to other regions. Chief of
# Forecasting Riaan van Zyl explained that the far eastern parts of
# the country are close to 40 minutes earlier in sunrise than the rest
# of the country.
#
# From Paul Eggert (2007-03-31):
# Apparently the Caprivi Strip informally observes Botswana time, but
# we have no details. In the meantime people there can use Africa/Gaborone.
# RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Namibia 1994 max - Sep Sun>=1 2:00 1:00 S
Rule Namibia 1995 max - Apr Sun>=1 2:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
1:30 - SWAT 1903 Mar # SW Africa Time
2:00 - SAST 1942 Sep 20 2:00
......@@ -222,59 +906,228 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
2:00 - SAST 1990 Mar 21 # independence
2:00 - CAT 1994 Apr 3
1:00 Namibia WA%sT
# Niger
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Niamey 0:08:28 - LMT 1912
-1:00 - WAT 1934 Feb 26
0:00 - GMT 1960
1:00 - WAT
# Nigeria
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Lagos 0:13:36 - LMT 1919 Sep
1:00 - WAT
# Reunion
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
4:00 - RET # Reunion Time
#
# Scattered Islands (Iles Eparses) administered from Reunion are as follows.
# The following information about them is taken from
# Iles Eparses (www.outre-mer.gouv.fr/domtom/ile.htm, 1997-07-22, in French;
# no longer available as of 1999-08-17).
# We have no info about their time zone histories.
#
# Bassas da India - uninhabited
# Europa Island - inhabited from 1905 to 1910 by two families
# Glorioso Is - inhabited until at least 1958
# Juan de Nova - uninhabited
# Tromelin - inhabited until at least 1958
# Rwanda
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Kigali 2:00:16 - LMT 1935 Jun
2:00 - CAT
# St Helena
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Atlantic/St_Helena -0:22:48 - LMT 1890 # Jamestown
-0:22:48 - JMT 1951 # Jamestown Mean Time
0:00 - GMT
# The other parts of the St Helena territory are similar:
# Tristan da Cunha: on GMT, say Whitman and the CIA
# Ascension: on GMT, says usno1995 and the CIA
# Gough (scientific station since 1955; sealers wintered previously):
# on GMT, says the CIA
# Inaccessible, Nightingale: no information, but probably GMT
# Sao Tome and Principe
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Sao_Tome 0:26:56 - LMT 1884
-0:36:32 - LMT 1912 # Lisbon Mean Time
0:00 - GMT
# Senegal
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Dakar -1:09:44 - LMT 1912
-1:00 - WAT 1941 Jun
0:00 - GMT
# Seychelles
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria
4:00 - SCT # Seychelles Time
# From Paul Eggert (2001-05-30):
# Aldabra, Farquhar, and Desroches, originally dependencies of the
# Seychelles, were transferred to the British Indian Ocean Territory
# in 1965 and returned to Seychelles control in 1976. We don't know
# whether this affected their time zone, so omit this for now.
# Possibly the islands were uninhabited.
# Sierra Leone
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
# Whitman gives Mar 31 - Aug 31 for 1931 on; go with Shanks & Pottenger.
Rule SL 1935 1942 - Jun 1 0:00 0:40 SLST
Rule SL 1935 1942 - Oct 1 0:00 0 WAT
Rule SL 1957 1962 - Jun 1 0:00 1:00 SLST
Rule SL 1957 1962 - Sep 1 0:00 0 GMT
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Freetown -0:53:00 - LMT 1882
-0:53:00 - FMT 1913 Jun # Freetown Mean Time
-1:00 SL %s 1957
0:00 SL %s
# Somalia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Mogadishu 3:01:28 - LMT 1893 Nov
3:00 - EAT 1931
2:30 - BEAT 1957
3:00 - EAT
# South Africa
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule SA 1942 1943 - Sep Sun>=15 2:00 1:00 -
Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8
1:30 - SAST 1903 Mar
2:00 SA SAST
# Marion and Prince Edward Is
# scientific station since 1947
# no information
# Sudan
#
# From <a href="http://www.sunanews.net/sn13jane.html">
# Sudan News Agency (2000-01-13)
# </a>, also reported by Michael De Beukelaer-Dossche via Steffen Thorsen:
# Clocks will be moved ahead for 60 minutes all over the Sudan as of noon
# Saturday.... This was announced Thursday by Caretaker State Minister for
# Manpower Abdul-Rahman Nur-Eddin.
#
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Sudan 1970 only - May 1 0:00 1:00 S
Rule Sudan 1970 1985 - Oct 15 0:00 0 -
Rule Sudan 1971 only - Apr 30 0:00 1:00 S
Rule Sudan 1972 1985 - Apr lastSun 0:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Khartoum 2:10:08 - LMT 1931
2:00 Sudan CA%sT 2000 Jan 15 12:00
3:00 - EAT
# South Sudan
Zone Africa/Juba 2:06:24 - LMT 1931
2:00 Sudan CA%sT 2000 Jan 15 12:00
3:00 - EAT
# Swaziland
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Mbabane 2:04:24 - LMT 1903 Mar
2:00 - SAST
# Tanzania
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Dar_es_Salaam 2:37:08 - LMT 1931
3:00 - EAT 1948
2:44:45 - BEAUT 1961
2:45 - BEAUT 1961
3:00 - EAT
# Togo
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Lome 0:04:52 - LMT 1893
0:00 - GMT
# Tunisia
# From Gwillim Law (2005-04-30):
# My correspondent, Risto Nykanen, has alerted me to another adoption of DST,
# this time in Tunisia. According to Yahoo France News
# <http://fr.news.yahoo.com/050426/5/4dumk.html>, in a story attributed to AP
# and dated 2005-04-26, "Tunisia has decided to advance its official time by
# one hour, starting on Sunday, May 1. Henceforth, Tunisian time will be
# UTC+2 instead of UTC+1. The change will take place at 23:00 UTC next
# Saturday." (My translation)
#
# From Oscar van Vlijmen (2005-05-02):
# LaPresse, the first national daily newspaper ...
# <http://www.lapresse.tn/archives/archives280405/actualites/lheure.html>
# ... DST for 2005: on: Sun May 1 0h standard time, off: Fri Sept. 30,
# 1h standard time.
#
# From Atef Loukil (2006-03-28):
# The daylight saving time will be the same each year:
# Beginning : the last Sunday of March at 02:00
# Ending : the last Sunday of October at 03:00 ...
# http://www.tap.info.tn/en/index.php?option=com_content&task=view&id=1188&Itemid=50
# From Steffen Thorsen (2009-03-16):
# According to several news sources, Tunisia will not observe DST this year.
# (Arabic)
# <a href="http://www.elbashayer.com/?page=viewn&nid=42546">
# http://www.elbashayer.com/?page=viewn&nid=42546
# </a>
# <a href="http://www.babnet.net/kiwidetail-15295.asp">
# http://www.babnet.net/kiwidetail-15295.asp
# </a>
#
# We have also confirmed this with the US embassy in Tunisia.
# We have a wrap-up about this on the following page:
# <a href="http://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html">
# http://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html
# </a>
# From Alexander Krivenyshev (2009-03-17):
# Here is a link to Tunis Afrique Presse News Agency
#
# Standard time to be kept the whole year long (tap.info.tn):
#
# (in English)
# <a href="http://www.tap.info.tn/en/index.php?option=com_content&task=view&id=26813&Itemid=157">
# http://www.tap.info.tn/en/index.php?option=com_content&task=view&id=26813&Itemid=157
# </a>
#
# (in Arabic)
# <a href="http://www.tap.info.tn/ar/index.php?option=com_content&task=view&id=61240&Itemid=1">
# http://www.tap.info.tn/ar/index.php?option=com_content&task=view&id=61240&Itemid=1
# </a>
# From Arthur David Olson (2009--3-18):
# The Tunis Afrique Presse News Agency notice contains this: "This measure is due to the fact
# that the fasting month of ramadan coincides with the period concerned by summer time.
# Therefore, the standard time will be kept unchanged the whole year long."
# So foregoing DST seems to be an exception (albeit one that may be repeated in the future).
# From Alexander Krivenyshev (2010-03-27):
# According to some news reports Tunis confirmed not to use DST in 2010
#
# (translation):
# "The Tunisian government has decided to abandon DST, which was scheduled on
# Sunday...
# Tunisian authorities had suspended the DST for the first time last year also
# coincided with the month of Ramadan..."
#
# (in Arabic)
# <a href="http://www.moheet.com/show_news.aspx?nid=358861&pg=1">
# http://www.moheet.com/show_news.aspx?nid=358861&pg=1
# <a href="http://www.almadenahnews.com/newss/news.php?c=118&id=38036">
# http://www.almadenahnews.com/newss/news.php?c=118&id=38036
# or
# <a href="http://www.worldtimezone.com/dst_news/dst_news_tunis02.html">
# http://www.worldtimezone.com/dst_news/dst_news_tunis02.html
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Tunisia 1939 only - Apr 15 23:00s 1:00 S
Rule Tunisia 1939 only - Nov 18 23:00s 0 -
Rule Tunisia 1940 only - Feb 25 23:00s 1:00 S
......@@ -300,15 +1153,29 @@ Rule Tunisia 2005 only - May 1 0:00s 1:00 S
Rule Tunisia 2005 only - Sep 30 1:00s 0 -
Rule Tunisia 2006 2008 - Mar lastSun 2:00s 1:00 S
Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
# more precise 0:09:21.
# Shanks & Pottenger say the 1911 switch was on Mar 9; go with Howse's Mar 11.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
1:00 Tunisia CE%sT
# Uganda
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Kampala 2:09:40 - LMT 1928 Jul
3:00 - EAT 1930
2:30 - BEAT 1948
2:44:45 - BEAUT 1957
2:45 - BEAUT 1957
3:00 - EAT
# Zambia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Lusaka 1:53:08 - LMT 1903 Mar
2:00 - CAT
# Zimbabwe
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Harare 2:04:12 - LMT 1903 Mar
2:00 - CAT
Rule RussAQ 1981 1984 - Apr 1 0:00 1:00 S
Rule RussAQ 1981 1983 - Oct 1 0:00 0 -
Rule RussAQ 1984 1991 - Sep lastSun 2:00s 0 -
Rule RussAQ 1985 1991 - Mar lastSun 2:00s 1:00 S
Rule RussAQ 1992 only - Mar lastSat 23:00 1:00 S
Rule RussAQ 1992 only - Sep lastSat 23:00 0 -
Rule RussAQ 1993 max - Mar lastSun 2:00s 1:00 S
Rule RussAQ 1993 1995 - Sep lastSun 2:00s 0 -
Rule RussAQ 1996 max - Oct lastSun 2:00s 0 -
# <pre>
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# From Paul Eggert (1999-11-15):
# To keep things manageable, we list only locations occupied year-round; see
# <a href="http://www.comnap.aq/comnap/comnap.nsf/P/Stations/">
# COMNAP - Stations and Bases
# </a>
# and
# <a href="http://www.spri.cam.ac.uk/bob/periant.htm">
# Summary of the Peri-Antarctic Islands (1998-07-23)
# </a>
# for information.
# Unless otherwise specified, we have no time zone information.
#
# Except for the French entries,
# I made up all time zone abbreviations mentioned here; corrections welcome!
# FORMAT is `zzz' and GMTOFF is 0 for locations while uninhabited.
# These rules are stolen from the `southamerica' file.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule ArgAQ 1964 1966 - Mar 1 0:00 0 -
Rule ArgAQ 1964 1966 - Oct 15 0:00 1:00 S
Rule ArgAQ 1967 only - Apr 2 0:00 0 -
......@@ -28,8 +41,21 @@ Rule ChileAQ 1997 only - Mar 30 3:00u 0 -
Rule ChileAQ 1998 only - Mar Sun>=9 3:00u 0 -
Rule ChileAQ 1998 only - Sep 27 4:00u 1:00 S
Rule ChileAQ 1999 only - Apr 4 3:00u 0 -
Rule ChileAQ 1999 max - Oct Sun>=9 4:00u 1:00 S
Rule ChileAQ 2000 max - Mar Sun>=9 3:00u 0 -
Rule ChileAQ 1999 2010 - Oct Sun>=9 4:00u 1:00 S
Rule ChileAQ 2000 2007 - Mar Sun>=9 3:00u 0 -
# N.B.: the end of March 29 in Chile is March 30 in Universal time,
# which is used below in specifying the transition.
Rule ChileAQ 2008 only - Mar 30 3:00u 0 -
Rule ChileAQ 2009 only - Mar Sun>=9 3:00u 0 -
Rule ChileAQ 2010 only - Apr Sun>=1 3:00u 0 -
Rule ChileAQ 2011 only - May Sun>=2 3:00u 0 -
Rule ChileAQ 2011 only - Aug Sun>=16 4:00u 1:00 S
Rule ChileAQ 2012 only - Apr Sun>=23 3:00u 0 -
Rule ChileAQ 2012 only - Sep Sun>=2 4:00u 1:00 S
Rule ChileAQ 2013 max - Mar Sun>=9 3:00u 0 -
Rule ChileAQ 2013 max - Oct Sun>=9 4:00u 1:00 S
# These rules are stolen from the `australasia' file.
Rule AusAQ 1917 only - Jan 1 0:01 1:00 -
Rule AusAQ 1917 only - Mar 25 2:00 0 -
Rule AusAQ 1942 only - Jan 1 2:00 1:00 -
......@@ -56,17 +82,86 @@ Rule ATAQ 2001 max - Oct Sun>=1 2:00s 1:00 -
Rule ATAQ 2006 only - Apr Sun>=1 2:00s 0 -
Rule ATAQ 2007 only - Mar lastSun 2:00s 0 -
Rule ATAQ 2008 max - Apr Sun>=1 2:00s 0 -
# Argentina - year-round bases
# Belgrano II, Confin Coast, -770227-0343737, since 1972-02-05
# Esperanza, San Martin Land, -6323-05659, since 1952-12-17
# Jubany, Potter Peninsula, King George Island, -6414-0602320, since 1982-01
# Marambio, Seymour I, -6414-05637, since 1969-10-29
# Orcadas, Laurie I, -6016-04444, since 1904-02-22
# San Martin, Debenham I, -6807-06708, since 1951-03-21
# (except 1960-03 / 1976-03-21)
# Australia - territories
# Heard Island, McDonald Islands (uninhabited)
# previously sealers and scientific personnel wintered
# <a href="http://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html">
# Margaret Turner reports
# </a> (1999-09-30) that they're UTC+5, with no DST;
# presumably this is when they have visitors.
#
# year-round bases
# Casey, Bailey Peninsula, -6617+11032, since 1969
# Davis, Vestfold Hills, -6835+07759, since 1957-01-13
# (except 1964-11 - 1969-02)
# Mawson, Holme Bay, -6736+06253, since 1954-02-13
# From Steffen Thorsen (2009-03-11):
# Three Australian stations in Antarctica have changed their time zone:
# Casey moved from UTC+8 to UTC+11
# Davis moved from UTC+7 to UTC+5
# Mawson moved from UTC+6 to UTC+5
# The changes occurred on 2009-10-18 at 02:00 (local times).
#
# Government source: (Australian Antarctic Division)
# <a href="http://www.aad.gov.au/default.asp?casid=37079">
# http://www.aad.gov.au/default.asp?casid=37079
# </a>
#
# We have more background information here:
# <a href="http://www.timeanddate.com/news/time/antarctica-new-times.html">
# http://www.timeanddate.com/news/time/antarctica-new-times.html
# </a>
# From Steffen Thorsen (2010-03-10):
# We got these changes from the Australian Antarctic Division:
# - Macquarie Island will stay on UTC+11 for winter and therefore not
# switch back from daylight savings time when other parts of Australia do
# on 4 April.
#
# - Casey station reverted to its normal time of UTC+8 on 5 March 2010.
# The change to UTC+11 is being considered as a regular summer thing but
# has not been decided yet.
#
# - Davis station will revert to its normal time of UTC+7 at 10 March 2010
# 20:00 UTC.
#
# - Mawson station stays on UTC+5.
#
# In addition to the Rule changes for Casey/Davis, it means that Macquarie
# will no longer be like Hobart and will have to have its own Zone created.
#
# Background:
# <a href="http://www.timeanddate.com/news/time/antartica-time-changes-2010.html">
# http://www.timeanddate.com/news/time/antartica-time-changes-2010.html
# </a>
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Antarctica/Casey 0 - zzz 1969
8:00 - WST 2009 Oct 18 2:00
# Western (Aus) Standard Time
11:00 - CAST 2010 Mar 5 2:00
# Casey Time
8:00 - WST 2011 Oct 28 2:00
11:00 - CAST 2012 Feb 21 17:00u
8:00 - WST
Zone Antarctica/Davis 0 - zzz 1957 Jan 13
7:00 - DAVT 1964 Nov # Davis Time
0 - zzz 1969 Feb
7:00 - DAVT 2009 Oct 18 2:00
5:00 - DAVT 2010 Mar 10 20:00u
7:00 - DAVT 2011 Oct 28 2:00
5:00 - DAVT 2012 Feb 21 20:00u
7:00 - DAVT
Zone Antarctica/Mawson 0 - zzz 1954 Feb 13
6:00 - MAWT 2009 Oct 18 2:00
......@@ -78,14 +173,107 @@ Zone Antarctica/Macquarie 0 - zzz 1911
10:00 AusAQ EST 1967
10:00 ATAQ EST 2010 Apr 4 3:00
11:00 - MIST # Macquarie Island Time
# References:
# <a href="http://www.antdiv.gov.au/aad/exop/sfo/casey/casey_aws.html">
# Casey Weather (1998-02-26)
# </a>
# <a href="http://www.antdiv.gov.au/aad/exop/sfo/davis/video.html">
# Davis Station, Antarctica (1998-02-26)
# </a>
# <a href="http://www.antdiv.gov.au/aad/exop/sfo/mawson/video.html">
# Mawson Station, Antarctica (1998-02-25)
# </a>
# Brazil - year-round base
# Comandante Ferraz, King George Island, -6205+05824, since 1983/4
# Chile - year-round bases and towns
# Escudero, South Shetland Is, -621157-0585735, since 1994
# Presidente Eduadro Frei, King George Island, -6214-05848, since 1969-03-07
# General Bernardo O'Higgins, Antarctic Peninsula, -6319-05704, since 1948-02
# Capitan Arturo Prat, -6230-05941
# Villa Las Estrellas (a town), around the Frei base, since 1984-04-09
# These locations have always used Santiago time; use TZ='America/Santiago'.
# China - year-round bases
# Great Wall, King George Island, -6213-05858, since 1985-02-20
# Zhongshan, Larsemann Hills, Prydz Bay, -6922+07623, since 1989-02-26
# France - year-round bases
#
# From Antoine Leca (1997-01-20):
# Time data are from Nicole Pailleau at the IFRTP
# (French Institute for Polar Research and Technology).
# She confirms that French Southern Territories and Terre Adelie bases
# don't observe daylight saving time, even if Terre Adelie supplies came
# from Tasmania.
#
# French Southern Territories with year-round inhabitants
#
# Martin-de-Vivies Base, Amsterdam Island, -374105+0773155, since 1950
# Alfred-Faure Base, Crozet Islands, -462551+0515152, since 1964
# Port-aux-Francais, Kerguelen Islands, -492110+0701303, since 1951;
# whaling & sealing station operated 1908/1914, 1920/1929, and 1951/1956
#
# St Paul Island - near Amsterdam, uninhabited
# fishing stations operated variously 1819/1931
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Kerguelen 0 - zzz 1950 # Port-aux-Francais
5:00 - TFT # ISO code TF Time
#
# year-round base in the main continent
# Dumont-d'Urville, Ile des Petrels, -6640+14001, since 1956-11
#
# Another base at Port-Martin, 50km east, began operation in 1947.
# It was destroyed by fire on 1952-01-14.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Antarctica/DumontDUrville 0 - zzz 1947
10:00 - PMT 1952 Jan 14 # Port-Martin Time
0 - zzz 1956 Nov
10:00 - DDUT # Dumont-d'Urville Time
# Reference:
# <a href="http://en.wikipedia.org/wiki/Dumont_d'Urville_Station">
# Dumont d'Urville Station (2005-12-05)
# </a>
# Germany - year-round base
# Georg von Neumayer, -7039-00815
# India - year-round base
# Dakshin Gangotri, -7005+01200
# Japan - year-round bases
# Dome Fuji, -7719+03942
# Syowa, -690022+0393524
#
# From Hideyuki Suzuki (1999-02-06):
# In all Japanese stations, +0300 is used as the standard time.
#
# Syowa station, which is the first antarctic station of Japan,
# was established on 1957-01-29. Since Syowa station is still the main
# station of Japan, it's appropriate for the principal location.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Antarctica/Syowa 0 - zzz 1957 Jan 29
3:00 - SYOT # Syowa Time
# See:
# <a href="http://www.nipr.ac.jp/english/ara01.html">
# NIPR Antarctic Research Activities (1999-08-17)
# </a>
# S Korea - year-round base
# King Sejong, King George Island, -6213-05847, since 1988
# New Zealand - claims
# Balleny Islands (never inhabited)
# Scott Island (never inhabited)
#
# year-round base
# Scott, Ross Island, since 1957-01, is like Antarctica/McMurdo.
#
# These rules for New Zealand are stolen from the `australasia' file.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule NZAQ 1974 only - Nov 3 2:00s 1:00 D
Rule NZAQ 1975 1988 - Oct lastSun 2:00s 1:00 D
Rule NZAQ 1989 only - Oct 8 2:00s 1:00 D
......@@ -95,14 +283,131 @@ Rule NZAQ 1976 1989 - Mar Sun>=1 2:00s 0 S
Rule NZAQ 1990 2007 - Mar Sun>=15 2:00s 0 S
Rule NZAQ 2007 max - Sep lastSun 2:00s 1:00 D
Rule NZAQ 2008 max - Apr Sun>=1 2:00s 0 S
# Norway - territories
# Bouvet (never inhabited)
#
# claims
# Peter I Island (never inhabited)
# Poland - year-round base
# Arctowski, King George Island, -620945-0582745, since 1977
# Russia - year-round bases
# Bellingshausen, King George Island, -621159-0585337, since 1968-02-22
# Mirny, Davis coast, -6633+09301, since 1956-02
# Molodezhnaya, Alasheyev Bay, -6740+04551,
# year-round from 1962-02 to 1999-07-01
# Novolazarevskaya, Queen Maud Land, -7046+01150,
# year-round from 1960/61 to 1992
# Vostok, since 1957-12-16, temporarily closed 1994-02/1994-11
# <a href="http://quest.arc.nasa.gov/antarctica/QA/computers/Directions,Time,ZIP">
# From Craig Mundell (1994-12-15)</a>:
# Vostok, which is one of the Russian stations, is set on the same
# time as Moscow, Russia.
#
# From Lee Hotz (2001-03-08):
# I queried the folks at Columbia who spent the summer at Vostok and this is
# what they had to say about time there:
# ``in the US Camp (East Camp) we have been on New Zealand (McMurdo)
# time, which is 12 hours ahead of GMT. The Russian Station Vostok was
# 6 hours behind that (although only 2 miles away, i.e. 6 hours ahead
# of GMT). This is a time zone I think two hours east of Moscow. The
# natural time zone is in between the two: 8 hours ahead of GMT.''
#
# From Paul Eggert (2001-05-04):
# This seems to be hopelessly confusing, so I asked Lee Hotz about it
# in person. He said that some Antartic locations set their local
# time so that noon is the warmest part of the day, and that this
# changes during the year and does not necessarily correspond to mean
# solar noon. So the Vostok time might have been whatever the clocks
# happened to be during their visit. So we still don't really know what time
# it is at Vostok. But we'll guess UTC+6.
#
Zone Antarctica/Vostok 0 - zzz 1957 Dec 16
6:00 - VOST # Vostok time
# S Africa - year-round bases
# Marion Island, -4653+03752
# Sanae, -7141-00250
# UK
#
# British Antarctic Territories (BAT) claims
# South Orkney Islands
# scientific station from 1903
# whaling station at Signy I 1920/1926
# South Shetland Islands
#
# year-round bases
# Bird Island, South Georgia, -5400-03803, since 1983
# Deception Island, -6259-06034, whaling station 1912/1931,
# scientific station 1943/1967,
# previously sealers and a scientific expedition wintered by accident,
# and a garrison was deployed briefly
# Halley, Coates Land, -7535-02604, since 1956-01-06
# Halley is on a moving ice shelf and is periodically relocated
# so that it is never more than 10km from its nominal location.
# Rothera, Adelaide Island, -6734-6808, since 1976-12-01
#
# From Paul Eggert (2002-10-22)
# <http://webexhibits.org/daylightsaving/g.html> says Rothera is -03 all year.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Antarctica/Rothera 0 - zzz 1976 Dec 1
-3:00 - ROTT # Rothera time
# Uruguay - year round base
# Artigas, King George Island, -621104-0585107
# USA - year-round bases
#
# Palmer, Anvers Island, since 1965 (moved 2 miles in 1968)
#
# From Ethan Dicks (1996-10-06):
# It keeps the same time as Punta Arenas, Chile, because, just like us
# and the South Pole, that's the other end of their supply line....
# I verified with someone who was there that since 1980,
# Palmer has followed Chile. Prior to that, before the Falklands War,
# Palmer used to be supplied from Argentina.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Antarctica/Palmer 0 - zzz 1965
-4:00 ArgAQ AR%sT 1969 Oct 5
-3:00 ArgAQ AR%sT 1982 May
-4:00 ChileAQ CL%sT
#
#
# McMurdo, Ross Island, since 1955-12
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Antarctica/McMurdo 0 - zzz 1956
12:00 NZAQ NZ%sT
#
# Amundsen-Scott, South Pole, continuously occupied since 1956-11-20
#
# From Paul Eggert (1996-09-03):
# Normally it wouldn't have a separate entry, since it's like the
# larger Antarctica/McMurdo since 1970, but it's too famous to omit.
#
# From Chris Carrier (1996-06-27):
# Siple, the first commander of the South Pole station,
# stated that he would have liked to have kept GMT at the station,
# but that he found it more convenient to keep GMT+12
# as supplies for the station were coming from McMurdo Sound,
# which was on GMT+12 because New Zealand was on GMT+12 all year
# at that time (1957). (Source: Siple's book 90 degrees SOUTH.)
#
# From Susan Smith
# http://www.cybertours.com/whs/pole10.html
# (1995-11-13 16:24:56 +1300, no longer available):
# We use the same time as McMurdo does.
# And they use the same time as Christchurch, NZ does....
# One last quirk about South Pole time.
# All the electric clocks are usually wrong.
# Something about the generators running at 60.1hertz or something
# makes all of the clocks run fast. So every couple of days,
# we have to go around and set them back 5 minutes or so.
# Maybe if we let them run fast all of the time, we'd get to leave here sooner!!
#
Link Antarctica/McMurdo Antarctica/South_Pole
This source diff could not be displayed because it is too large. You can view the blob instead.
# <pre>
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# This file also includes Pacific islands.
# Notes are at the end of this file
###############################################################################
# Australia
# Please see the notes below for the controversy about "EST" versus "AEST" etc.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Aus 1917 only - Jan 1 0:01 1:00 -
Rule Aus 1917 only - Mar 25 2:00 0 -
Rule Aus 1942 only - Jan 1 2:00 1:00 -
......@@ -5,9 +20,18 @@ Rule Aus 1942 only - Mar 29 2:00 0 -
Rule Aus 1942 only - Sep 27 2:00 1:00 -
Rule Aus 1943 1944 - Mar lastSun 2:00 0 -
Rule Aus 1943 only - Oct 3 2:00 1:00 -
# Go with Whitman and the Australian National Standards Commission, which
# says W Australia didn't use DST in 1943/1944. Ignore Whitman's claim that
# 1944/1945 was just like 1943/1944.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
# Northern Territory
Zone Australia/Darwin 8:43:20 - LMT 1895 Feb
9:00 - CST 1899 May
9:30 Aus CST
# Western Australia
#
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule AW 1974 only - Oct lastSun 2:00s 1:00 -
Rule AW 1975 only - Mar Sun>=1 2:00s 0 -
Rule AW 1983 only - Oct lastSun 2:00s 1:00 -
......@@ -23,6 +47,21 @@ Zone Australia/Perth 7:43:24 - LMT 1895 Dec
Zone Australia/Eucla 8:35:28 - LMT 1895 Dec
8:45 Aus CWST 1943 Jul
8:45 AW CWST
# Queensland
#
# From Alex Livingston (1996-11-01):
# I have heard or read more than once that some resort islands off the coast
# of Queensland chose to keep observing daylight-saving time even after
# Queensland ceased to.
#
# From Paul Eggert (1996-11-22):
# IATA SSIM (1993-02/1994-09) say that the Holiday Islands (Hayman, Lindeman,
# Hamilton) observed DST for two years after the rest of Queensland stopped.
# Hamilton is the largest, but there is also a Hamilton in Victoria,
# so use Lindeman.
#
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule AQ 1971 only - Oct lastSun 2:00s 1:00 -
Rule AQ 1972 only - Feb lastSun 2:00s 0 -
Rule AQ 1989 1991 - Oct lastSun 2:00s 1:00 -
......@@ -36,6 +75,9 @@ Zone Australia/Lindeman 9:55:56 - LMT 1895
10:00 Aus EST 1971
10:00 AQ EST 1992 Jul
10:00 Holiday EST
# South Australia
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule AS 1971 1985 - Oct lastSun 2:00s 1:00 -
Rule AS 1986 only - Oct 19 2:00s 1:00 -
Rule AS 1987 2007 - Oct lastSun 2:00s 1:00 -
......@@ -51,10 +93,19 @@ Rule AS 2006 only - Apr 2 2:00s 0 -
Rule AS 2007 only - Mar lastSun 2:00s 0 -
Rule AS 2008 max - Apr Sun>=1 2:00s 0 -
Rule AS 2008 max - Oct Sun>=1 2:00s 1:00 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Australia/Adelaide 9:14:20 - LMT 1895 Feb
9:00 - CST 1899 May
9:30 Aus CST 1971
9:30 AS CST
# Tasmania
#
# From Paul Eggert (2005-08-16):
# <http://www.bom.gov.au/climate/averages/tables/dst_times.shtml>
# says King Island didn't observe DST from WWII until late 1971.
#
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule AT 1967 only - Oct Sun>=1 2:00s 1:00 -
Rule AT 1968 only - Mar lastSun 2:00s 0 -
Rule AT 1968 1985 - Oct lastSun 2:00s 1:00 -
......@@ -74,6 +125,7 @@ Rule AT 2001 max - Oct Sun>=1 2:00s 1:00 -
Rule AT 2006 only - Apr Sun>=1 2:00s 0 -
Rule AT 2007 only - Mar lastSun 2:00s 0 -
Rule AT 2008 max - Apr Sun>=1 2:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Australia/Hobart 9:49:16 - LMT 1895 Sep
10:00 - EST 1916 Oct 1 2:00
10:00 1:00 EST 1917 Feb
......@@ -84,6 +136,9 @@ Zone Australia/Currie 9:35:28 - LMT 1895 Sep
10:00 1:00 EST 1917 Feb
10:00 Aus EST 1971 Jul
10:00 AT EST
# Victoria
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule AV 1971 1985 - Oct lastSun 2:00s 1:00 -
Rule AV 1972 only - Feb lastSun 2:00s 0 -
Rule AV 1973 1985 - Mar Sun>=1 2:00s 0 -
......@@ -98,9 +153,13 @@ Rule AV 2006 only - Apr Sun>=1 2:00s 0 -
Rule AV 2007 only - Mar lastSun 2:00s 0 -
Rule AV 2008 max - Apr Sun>=1 2:00s 0 -
Rule AV 2008 max - Oct Sun>=1 2:00s 1:00 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Australia/Melbourne 9:39:52 - LMT 1895 Feb
10:00 Aus EST 1971
10:00 AV EST
# New South Wales
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule AN 1971 1985 - Oct lastSun 2:00s 1:00 -
Rule AN 1972 only - Feb 27 2:00s 0 -
Rule AN 1973 1981 - Mar Sun>=1 2:00s 0 -
......@@ -117,6 +176,7 @@ Rule AN 2006 only - Apr Sun>=1 2:00s 0 -
Rule AN 2007 only - Mar lastSun 2:00s 0 -
Rule AN 2008 max - Apr Sun>=1 2:00s 0 -
Rule AN 2008 max - Oct Sun>=1 2:00s 1:00 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Australia/Sydney 10:04:52 - LMT 1895 Feb
10:00 Aus EST 1971
10:00 AN EST
......@@ -126,6 +186,9 @@ Zone Australia/Broken_Hill 9:25:48 - LMT 1895 Feb
9:30 Aus CST 1971
9:30 AN CST 2000
9:30 AS CST
# Lord Howe Island
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule LH 1981 1984 - Oct lastSun 2:00 1:00 -
Rule LH 1982 1985 - Mar Sun>=1 2:00 0 -
Rule LH 1985 only - Oct lastSun 2:00 0:30 -
......@@ -143,34 +206,162 @@ Rule LH 2008 max - Oct Sun>=1 2:00 0:30 -
Zone Australia/Lord_Howe 10:36:20 - LMT 1895 Feb
10:00 - EST 1981 Mar
10:30 LH LHST
# Australian miscellany
#
# Ashmore Is, Cartier
# no indigenous inhabitants; only seasonal caretakers
# no times are set
#
# Coral Sea Is
# no indigenous inhabitants; only meteorologists
# no times are set
#
# Macquarie
# permanent occupation (scientific station) since 1948;
# sealing and penguin oil station operated 1888/1917
# like Australia/Hobart
# Christmas
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Christmas 7:02:52 - LMT 1895 Feb
7:00 - CXT # Christmas Island Time
# Cook Is
# From Shanks & Pottenger:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Cook 1978 only - Nov 12 0:00 0:30 HS
Rule Cook 1979 1991 - Mar Sun>=1 0:00 0 -
Rule Cook 1979 1990 - Oct lastSun 0:00 0:30 HS
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua
-10:30 - CKT 1978 Nov 12 # Cook Is Time
-10:00 Cook CK%sT
# Cocos
# These islands were ruled by the Ross family from about 1830 to 1978.
# We don't know when standard time was introduced; for now, we guess 1900.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Cocos 6:27:40 - LMT 1900
6:30 - CCT # Cocos Islands Time
# Fiji
# From Alexander Krivenyshev (2009-11-10):
# According to Fiji Broadcasting Corporation, Fiji plans to re-introduce DST
# from November 29th 2009 to April 25th 2010.
#
# "Daylight savings to commence this month"
# <a href="http://www.radiofiji.com.fj/fullstory.php?id=23719">
# http://www.radiofiji.com.fj/fullstory.php?id=23719
# </a>
# or
# <a href="http://www.worldtimezone.com/dst_news/dst_news_fiji01.html">
# http://www.worldtimezone.com/dst_news/dst_news_fiji01.html
# </a>
# From Steffen Thorsen (2009-11-10):
# The Fiji Government has posted some more details about the approved
# amendments:
# <a href="http://www.fiji.gov.fj/publish/page_16198.shtml">
# http://www.fiji.gov.fj/publish/page_16198.shtml
# </a>
# From Steffen Thorsen (2010-03-03):
# The Cabinet in Fiji has decided to end DST about a month early, on
# 2010-03-28 at 03:00.
# The plan is to observe DST again, from 2010-10-24 to sometime in March
# 2011 (last Sunday a good guess?).
#
# Official source:
# <a href="http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=1096:3310-cabinet-approves-change-in-daylight-savings-dates&catid=49:cabinet-releases&Itemid=166">
# http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=1096:3310-cabinet-approves-change-in-daylight-savings-dates&catid=49:cabinet-releases&Itemid=166
# </a>
#
# A bit more background info here:
# <a href="http://www.timeanddate.com/news/time/fiji-dst-ends-march-2010.html">
# http://www.timeanddate.com/news/time/fiji-dst-ends-march-2010.html
# </a>
# From Alexander Krivenyshev (2010-10-24):
# According to Radio Fiji and Fiji Times online, Fiji will end DST 3
# weeks earlier than expected - on March 6, 2011, not March 27, 2011...
# Here is confirmation from Government of the Republic of the Fiji Islands,
# Ministry of Information (fiji.gov.fj) web site:
# <a href="http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=2608:daylight-savings&catid=71:press-releases&Itemid=155">
# http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=2608:daylight-savings&catid=71:press-releases&Itemid=155
# </a>
# or
# <a href="http://www.worldtimezone.com/dst_news/dst_news_fiji04.html">
# http://www.worldtimezone.com/dst_news/dst_news_fiji04.html
# </a>
# From Steffen Thorsen (2011-10-03):
# Now the dates have been confirmed, and at least our start date
# assumption was correct (end date was one week wrong).
#
# <a href="http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=4966:daylight-saving-starts-in-fiji&catid=71:press-releases&Itemid=155">
# www.fiji.gov.fj/index.php?option=com_content&view=article&id=4966:daylight-saving-starts-in-fiji&catid=71:press-releases&Itemid=155
# </a>
# which says
# Members of the public are reminded to change their time to one hour in
# advance at 2am to 3am on October 23, 2011 and one hour back at 3am to
# 2am on February 26 next year.
# From Ken Rylander (2011-10-24)
# Another change to the Fiji DST end date. In the TZ database the end date for
# Fiji DST 2012, is currently Feb 26. This has been changed to Jan 22.
#
# <a href="http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=5017:amendments-to-daylight-savings&catid=71:press-releases&Itemid=155">
# http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=5017:amendments-to-daylight-savings&catid=71:press-releases&Itemid=155
# </a>
# states:
#
# The end of daylight saving scheduled initially for the 26th of February 2012
# has been brought forward to the 22nd of January 2012.
# The commencement of daylight saving will remain unchanged and start
# on the 23rd of October, 2011.
# From the Fiji Government Online Portal (2012-08-21) via Steffen Thorsen:
# The Minister for Labour, Industrial Relations and Employment Mr Jone Usamate
# today confirmed that Fiji will start daylight savings at 2 am on Sunday 21st
# October 2012 and end at 3 am on Sunday 20th January 2013.
# http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=6702&catid=71&Itemid=155
#
# From Paul Eggert (2012-08-31):
# For now, guess a pattern of the penultimate Sundays in October and January.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 S
Rule Fiji 1999 2000 - Feb lastSun 3:00 0 -
Rule Fiji 2009 only - Nov 29 2:00 1:00 S
Rule Fiji 2010 only - Mar lastSun 3:00 0 -
Rule Fiji 2010 only - Oct 24 2:00 1:00 S
Rule Fiji 2010 max - Oct Sun>=18 2:00 1:00 S
Rule Fiji 2011 only - Mar Sun>=1 3:00 0 -
Rule Fiji 2012 max - Jan Sun>=18 3:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Fiji 11:53:40 - LMT 1915 Oct 26 # Suva
12:00 Fiji FJ%sT # Fiji Time
# French Polynesia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct # Rikitea
-9:00 - GAMT # Gambier Time
Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct
-9:30 - MART # Marquesas Time
Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete
-10:00 - TAHT # Tahiti Time
# Clipperton (near North America) is administered from French Polynesia;
# it is uninhabited.
# Guam
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Guam -14:21:00 - LMT 1844 Dec 31
9:39:00 - LMT 1901 # Agana
10:00 - GST 2000 Dec 23 # Guam
10:00 - ChST # Chamorro Standard Time
# Kiribati
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki
12:00 - GILT # Gilbert Is Time
Zone Pacific/Enderbury -11:24:20 - LMT 1901
......@@ -181,11 +372,17 @@ Zone Pacific/Kiritimati -10:29:20 - LMT 1901
-10:40 - LINT 1979 Oct # Line Is Time
-10:00 - LINT 1995
14:00 - LINT
# N Mariana Is
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Saipan -14:17:00 - LMT 1844 Dec 31
9:43:00 - LMT 1901
9:00 - MPT 1969 Oct # N Mariana Is Time
10:00 - MPT 2000 Dec 23
10:00 - ChST # Chamorro Standard Time
# Marshall Is
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Majuro 11:24:48 - LMT 1901
11:00 - MHT 1969 Oct # Marshall Islands Time
12:00 - MHT
......@@ -193,6 +390,9 @@ Zone Pacific/Kwajalein 11:09:20 - LMT 1901
11:00 - MHT 1969 Oct
-12:00 - KWAT 1993 Aug 20 # Kwajalein Time
12:00 - MHT
# Micronesia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Chuuk 10:07:08 - LMT 1901
10:00 - CHUT # Chuuk Time
Zone Pacific/Pohnpei 10:32:52 - LMT 1901 # Kolonia
......@@ -201,17 +401,32 @@ Zone Pacific/Kosrae 10:51:56 - LMT 1901
11:00 - KOST 1969 Oct # Kosrae Time
12:00 - KOST 1999
11:00 - KOST
# Nauru
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Nauru 11:07:40 - LMT 1921 Jan 15 # Uaobe
11:30 - NRT 1942 Mar 15 # Nauru Time
9:00 - JST 1944 Aug 15
11:30 - NRT 1979 May
12:00 - NRT
# New Caledonia
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule NC 1977 1978 - Dec Sun>=1 0:00 1:00 S
Rule NC 1978 1979 - Feb 27 0:00 0 -
Rule NC 1996 only - Dec 1 2:00s 1:00 S
# Shanks & Pottenger say the following was at 2:00; go with IATA.
Rule NC 1997 only - Mar 2 2:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Noumea 11:05:48 - LMT 1912 Jan 13
11:00 NC NC%sT
###############################################################################
# New Zealand
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule NZ 1927 only - Nov 6 2:00 1:00 S
Rule NZ 1928 only - Mar 4 2:00 0 M
Rule NZ 1928 1933 - Oct Sun>=8 2:00 0:30 S
......@@ -219,6 +434,8 @@ Rule NZ 1929 1933 - Mar Sun>=15 2:00 0 M
Rule NZ 1934 1940 - Apr lastSun 2:00 0 M
Rule NZ 1934 1940 - Sep lastSun 2:00 0:30 S
Rule NZ 1946 only - Jan 1 0:00 0 S
# Since 1957 Chatham has been 45 minutes ahead of NZ, but there's no
# convenient notation for this so we must duplicate the Rule lines.
Rule NZ 1974 only - Nov Sun>=1 2:00s 1:00 D
Rule Chatham 1974 only - Nov Sun>=1 2:45s 1:00 D
Rule NZ 1975 only - Feb lastSun 2:00s 0 S
......@@ -237,68 +454,1266 @@ Rule NZ 2007 max - Sep lastSun 2:00s 1:00 D
Rule Chatham 2007 max - Sep lastSun 2:45s 1:00 D
Rule NZ 2008 max - Apr Sun>=1 2:00s 0 S
Rule Chatham 2008 max - Apr Sun>=1 2:45s 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Auckland 11:39:04 - LMT 1868 Nov 2
11:30 NZ NZ%sT 1946 Jan 1
12:00 NZ NZ%sT
Zone Pacific/Chatham 12:13:48 - LMT 1957 Jan 1
12:45 Chatham CHA%sT
# Auckland Is
# uninhabited; Maori and Moriori, colonial settlers, pastoralists, sealers,
# and scientific personnel have wintered
# Campbell I
# minor whaling stations operated 1909/1914
# scientific station operated 1941/1995;
# previously whalers, sealers, pastoralists, and scientific personnel wintered
# was probably like Pacific/Auckland
###############################################################################
# Niue
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Niue -11:19:40 - LMT 1901 # Alofi
-11:20 - NUT 1951 # Niue Time
-11:30 - NUT 1978 Oct 1
-11:00 - NUT
# Norfolk
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Norfolk 11:11:52 - LMT 1901 # Kingston
11:12 - NMT 1951 # Norfolk Mean Time
11:30 - NFT # Norfolk Time
# Palau (Belau)
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Palau 8:57:56 - LMT 1901 # Koror
9:00 - PWT # Palau Time
# Papua New Guinea
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Port_Moresby 9:48:40 - LMT 1880
9:48:32 - PMMT 1895 # Port Moresby Mean Time
10:00 - PGT # Papua New Guinea Time
# Pitcairn
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown
-8:30 - PNT 1998 Apr 27 00:00
-8:00 - PST # Pitcairn Standard Time
# American Samoa
Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5
-11:22:48 - LMT 1911
-11:30 - SAMT 1950 # Samoa Time
-11:00 - NST 1967 Apr # N=Nome
-11:00 - BST 1983 Nov 30 # B=Bering
-11:00 - SST # S=Samoa
# Samoa
# From Steffen Thorsen (2009-10-16):
# We have been in contact with the government of Samoa again, and received
# the following info:
#
# "Cabinet has now approved Daylight Saving to be effected next year
# commencing from the last Sunday of September 2010 and conclude first
# Sunday of April 2011."
#
# Background info:
# <a href="http://www.timeanddate.com/news/time/samoa-dst-plan-2009.html">
# http://www.timeanddate.com/news/time/samoa-dst-plan-2009.html
# </a>
#
# Samoa's Daylight Saving Time Act 2009 is available here, but does not
# contain any dates:
# <a href="http://www.parliament.gov.ws/documents/acts/Daylight%20Saving%20Act%20%202009%20%28English%29%20-%20Final%207-7-091.pdf">
# http://www.parliament.gov.ws/documents/acts/Daylight%20Saving%20Act%20%202009%20%28English%29%20-%20Final%207-7-091.pdf
# </a>
# From Laupue Raymond Hughes (2010-10-07):
# Please see
# <a href="http://www.mcil.gov.ws">
# http://www.mcil.gov.ws
# </a>,
# the Ministry of Commerce, Industry and Labour (sideframe) "Last Sunday
# September 2010 (26/09/10) - adjust clocks forward from 12:00 midnight
# to 01:00am and First Sunday April 2011 (03/04/11) - adjust clocks
# backwards from 1:00am to 12:00am"
# From Laupue Raymond Hughes (2011-03-07):
# I believe this will be posted shortly on the website
# <a href="http://www.mcil.gov.ws">
# www.mcil.gov.ws
# </a>
#
# PUBLIC NOTICE ON DAYLIGHT SAVING TIME
#
# Pursuant to the Daylight Saving Act 2009 and Cabinets decision,
# businesses and the general public are hereby advised that daylight
# saving time is on the first Saturday of April 2011 (02/04/11).
#
# The public is therefore advised that when the standard time strikes
# the hour of four oclock (4.00am or 0400 Hours) on the 2nd April 2011,
# then all instruments used to measure standard time are to be
# adjusted/changed to three oclock (3:00am or 0300Hrs).
#
# Margaret Fruean ACTING CHIEF EXECUTIVE OFFICER MINISTRY OF COMMERCE,
# INDUSTRY AND LABOUR 28th February 2011
# From David Zuelke (2011-05-09):
# Subject: Samoa to move timezone from east to west of international date line
#
# <a href="http://www.morningstar.co.uk/uk/markets/newsfeeditem.aspx?id=138501958347963">
# http://www.morningstar.co.uk/uk/markets/newsfeeditem.aspx?id=138501958347963
# </a>
# From Mark Sim-Smith (2011-08-17):
# I have been in contact with Leilani Tuala Warren from the Samoa Law
# Reform Commission, and she has sent me a copy of the Bill that she
# confirmed has been passed...Most of the sections are about maps rather
# than the time zone change, but I'll paste the relevant bits below. But
# the essence is that at midnight 29 Dec (UTC-11 I suppose), Samoa
# changes from UTC-11 to UTC+13:
#
# International Date Line Bill 2011
#
# AN ACT to provide for the change to standard time in Samoa and to make
# consequential amendments to the position of the International Date
# Line, and for related purposes.
#
# BE IT ENACTED by the Legislative Assembly of Samoa in Parliament
# assembled as follows:
#
# 1. Short title and commencement-(1) This Act may be cited as the
# International Date Line Act 2011. (2) Except for section 5(3) this Act
# commences at 12 o'clock midnight, on Thursday 29th December 2011. (3)
# Section 5(3) commences on the date of assent by the Head of State.
#
# [snip]
#
# 3. Interpretation - [snip] "Samoa standard time" in this Act and any
# other statute of Samoa which refers to 'Samoa standard time' means the
# time 13 hours in advance of Co-ordinated Universal Time.
#
# 4. Samoa standard time - (1) Upon the commencement of this Act, Samoa
# standard time shall be set at 13 hours in advance of Co-ordinated
# Universal Time for the whole of Samoa. (2) All references to Samoa's
# time zone and to Samoa standard time in Samoa in all legislation and
# instruments after the commencement of this Act shall be references to
# Samoa standard time as provided for in this Act. (3) Nothing in this
# Act affects the provisions of the Daylight Saving Act 2009, except that
# it defines Samoa standard time....
# From Laupue Raymond Hughes (2011-09-02):
# <a href="http://www.mcil.gov.ws/mcil_publications.html">
# http://www.mcil.gov.ws/mcil_publications.html
# </a>
#
# here is the official website publication for Samoa DST and dateline change
#
# DST
# Year End Time Start Time
# 2011 - - - - - - 24 September 3:00am to 4:00am
# 2012 01 April 4:00am to 3:00am - - - - - -
#
# Dateline Change skip Friday 30th Dec 2011
# Thursday 29th December 2011 23:59:59 Hours
# Saturday 31st December 2011 00:00:00 Hours
#
# Clarification by Tim Parenti (2012-01-03):
# Although Samoa has used Daylight Saving Time in the 2010-2011 and 2011-2012
# seasons, there is not yet any indication that this trend will continue on
# a regular basis. For now, we have explicitly listed the transitions below.
#
# From Nicky (2012-09-10):
# Daylight Saving Time commences on Sunday 30th September 2012 and
# ends on Sunday 7th of April 2013.
#
# Please find link below for more information.
# http://www.mcil.gov.ws/mcil_publications.html
#
# That publication also includes dates for Summer of 2013/4 as well
# which give the impression of a pattern in selecting dates for the
# future, so for now, we will guess this will continue.
# Western Samoa
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule WS 2012 max - Sep lastSun 3:00 1 D
Rule WS 2012 max - Apr Sun>=1 4:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Apia 12:33:04 - LMT 1879 Jul 5
-11:26:56 - LMT 1911
-11:30 - SAMT 1950 # Samoa Time
-11:00 - WST 2010 Sep 26
-11:00 1:00 WSDT 2011 Apr 2 4:00
-11:00 - WST
-11:00 - WST 2011 Sep 24 3:00
-11:00 1:00 WSDT 2011 Dec 30
13:00 1:00 WSDT 2012 Apr Sun>=1 4:00
13:00 WS WS%sT
# Solomon Is
# excludes Bougainville, for which see Papua New Guinea
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara
11:00 - SBT # Solomon Is Time
# Tokelau Is
#
# From Gwillim Law (2011-12-29)
# A correspondent informed me that Tokelau, like Samoa, will be skipping
# December 31 this year ...
#
# From Steffen Thorsen (2012-07-25)
# ... we double checked by calling hotels and offices based in Tokelau asking
# about the time there, and they all told a time that agrees with UTC+13....
# Shanks says UTC-10 from 1901 [but] ... there is a good chance the change
# actually was to UTC-11 back then.
#
# From Paul Eggert (2012-07-25)
# A Google Books snippet of Appendix to the Journals of the House of
# Representatives of New Zealand, Session 1948,
# <http://books.google.com/books?id=ZaVCAQAAIAAJ>, page 65, says Tokelau
# was "11 hours slow on G.M.T." Go with Thorsen and assume Shanks & Pottenger
# are off by an hour starting in 1901.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Fakaofo -11:24:56 - LMT 1901
-10:00 - TKT # Tokelau Time
-11:00 - TKT 2011 Dec 30 # Tokelau Time
13:00 - TKT
# Tonga
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Tonga 1999 only - Oct 7 2:00s 1:00 S
Rule Tonga 2000 only - Mar 19 2:00s 0 -
Rule Tonga 2000 2001 - Nov Sun>=1 2:00 1:00 S
Rule Tonga 2001 2002 - Jan lastSun 2:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Tongatapu 12:19:20 - LMT 1901
12:20 - TOT 1941 # Tonga Time
13:00 - TOT 1999
13:00 Tonga TO%sT
# Tuvalu
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Funafuti 11:56:52 - LMT 1901
12:00 - TVT # Tuvalu Time
# US minor outlying islands
# Howland, Baker
# Howland was mined for guano by American companies 1857-1878 and British
# 1886-1891; Baker was similar but exact dates are not known.
# Inhabited by civilians 1935-1942; U.S. military bases 1943-1944;
# uninhabited thereafter.
# Howland observed Hawaii Standard Time (UTC-10:30) in 1937;
# see page 206 of Elgen M. Long and Marie K. Long,
# Amelia Earhart: the Mystery Solved, Simon & Schuster (2000).
# So most likely Howland and Baker observed Hawaii Time from 1935
# until they were abandoned after the war.
# Jarvis
# Mined for guano by American companies 1857-1879 and British 1883?-1891?.
# Inhabited by civilians 1935-1942; IGY scientific base 1957-1958;
# uninhabited thereafter.
# no information; was probably like Pacific/Kiritimati
# Johnston
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Johnston -10:00 - HST
# Kingman
# uninhabited
# Midway
#
# From Mark Brader (2005-01-23):
# [Fallacies and Fantasies of Air Transport History, by R.E.G. Davies,
# published 1994 by Paladwr Press, McLean, VA, USA; ISBN 0-9626483-5-3]
# reproduced a Pan American Airways timeables from 1936, for their weekly
# "Orient Express" flights between San Francisco and Manila, and connecting
# flights to Chicago and the US East Coast. As it uses some time zone
# designations that I've never seen before:....
# Fri. 6:30A Lv. HONOLOLU (Pearl Harbor), H.I. H.L.T. Ar. 5:30P Sun.
# " 3:00P Ar. MIDWAY ISLAND . . . . . . . . . M.L.T. Lv. 6:00A "
#
Zone Pacific/Midway -11:49:28 - LMT 1901
-11:00 - NST 1956 Jun 3
-11:00 1:00 NDT 1956 Sep 2
-11:00 - NST 1967 Apr # N=Nome
-11:00 - BST 1983 Nov 30 # B=Bering
-11:00 - SST # S=Samoa
# Palmyra
# uninhabited since World War II; was probably like Pacific/Kiritimati
# Wake
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Wake 11:06:28 - LMT 1901
12:00 - WAKT # Wake Time
# Vanuatu
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Vanuatu 1983 only - Sep 25 0:00 1:00 S
Rule Vanuatu 1984 1991 - Mar Sun>=23 0:00 0 -
Rule Vanuatu 1984 only - Oct 23 0:00 1:00 S
Rule Vanuatu 1985 1991 - Sep Sun>=23 0:00 1:00 S
Rule Vanuatu 1992 1993 - Jan Sun>=23 0:00 0 -
Rule Vanuatu 1992 only - Oct Sun>=23 0:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
11:00 Vanuatu VU%sT # Vanuatu Time
# Wallis and Futuna
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Wallis 12:15:20 - LMT 1901
12:00 - WFT # Wallis & Futuna Time
###############################################################################
# NOTES
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
# tz@iana.org for general use in the future).
# From Paul Eggert (2006-03-22):
# A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition),
# San Diego: ACS Publications, Inc. (2003).
#
# Gwillim Law writes that a good source
# for recent time zone data is the International Air Transport
# Association's Standard Schedules Information Manual (IATA SSIM),
# published semiannually. Law sent in several helpful summaries
# of the IATA's data after 1990.
#
# Except where otherwise noted, Shanks & Pottenger is the source for
# entries through 1990, and IATA SSIM is the source for entries afterwards.
#
# Another source occasionally used is Edward W. Whitman, World Time Differences,
# Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which
# I found in the UCLA library.
#
# A reliable and entertaining source about time zones is
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
#
# I invented the abbreviations marked `*' in the following table;
# the rest are from earlier versions of this file, or from other sources.
# Corrections are welcome!
# std dst
# LMT Local Mean Time
# 8:00 WST WST Western Australia
# 8:45 CWST CWST Central Western Australia*
# 9:00 JST Japan
# 9:30 CST CST Central Australia
# 10:00 EST EST Eastern Australia
# 10:00 ChST Chamorro
# 10:30 LHST LHST Lord Howe*
# 11:30 NZMT NZST New Zealand through 1945
# 12:00 NZST NZDT New Zealand 1946-present
# 12:45 CHAST CHADT Chatham*
# -11:00 SST Samoa
# -10:00 HST Hawaii
# - 8:00 PST Pitcairn*
#
# See the `northamerica' file for Hawaii.
# See the `southamerica' file for Easter I and the Galapagos Is.
###############################################################################
# Australia
# From Paul Eggert (2005-12-08):
# <a href="http://www.bom.gov.au/climate/averages/tables/dst_times.shtml">
# Implementation Dates of Daylight Saving Time within Australia
# </a> summarizes daylight saving issues in Australia.
# From Arthur David Olson (2005-12-12):
# <a href="http://www.lawlink.nsw.gov.au/lawlink/Corporate/ll_agdinfo.nsf/pages/community_relations_daylight_saving">
# Lawlink NSW:Daylight Saving in New South Wales
# </a> covers New South Wales in particular.
# From John Mackin (1991-03-06):
# We in Australia have _never_ referred to DST as `daylight' time.
# It is called `summer' time. Now by a happy coincidence, `summer'
# and `standard' happen to start with the same letter; hence, the
# abbreviation does _not_ change...
# The legislation does not actually define abbreviations, at least
# in this State, but the abbreviation is just commonly taken to be the
# initials of the phrase, and the legislation here uniformly uses
# the phrase `summer time' and does not use the phrase `daylight
# time'.
# Announcers on the Commonwealth radio network, the ABC (for Australian
# Broadcasting Commission), use the phrases `Eastern Standard Time'
# or `Eastern Summer Time'. (Note, though, that as I say in the
# current australasia file, there is really no such thing.) Announcers
# on its overseas service, Radio Australia, use the same phrases
# prefixed by the word `Australian' when referring to local times;
# time announcements on that service, naturally enough, are made in UTC.
# From Arthur David Olson (1992-03-08):
# Given the above, what's chosen for year-round use is:
# CST for any place operating at a GMTOFF of 9:30
# WST for any place operating at a GMTOFF of 8:00
# EST for any place operating at a GMTOFF of 10:00
# From Chuck Soper (2006-06-01):
# I recently found this Australian government web page on time zones:
# <http://www.australia.gov.au/about-australia-13time>
# And this government web page lists time zone names and abbreviations:
# <http://www.bom.gov.au/climate/averages/tables/daysavtm.shtml>
# From Paul Eggert (2001-04-05), summarizing a long discussion about "EST"
# versus "AEST" etc.:
#
# I see the following points of dispute:
#
# * How important are unique time zone abbreviations?
#
# Here I tend to agree with the point (most recently made by Chris
# Newman) that unique abbreviations should not be essential for proper
# operation of software. We have other instances of ambiguity
# (e.g. "IST" denoting both "Israel Standard Time" and "Indian
# Standard Time"), and they are not likely to go away any time soon.
# In the old days, some software mistakenly relied on unique
# abbreviations, but this is becoming less true with time, and I don't
# think it's that important to cater to such software these days.
#
# On the other hand, there is another motivation for unambiguous
# abbreviations: it cuts down on human confusion. This is
# particularly true for Australia, where "EST" can mean one thing for
# time T and a different thing for time T plus 1 second.
#
# * Does the relevant legislation indicate which abbreviations should be used?
#
# Here I tend to think that things are a mess, just as they are in
# many other countries. We Americans are currently disagreeing about
# which abbreviation to use for the newly legislated Chamorro Standard
# Time, for example.
#
# Personally, I would prefer to use common practice; I would like to
# refer to legislation only for examples of common practice, or as a
# tiebreaker.
#
# * Do Australians more often use "Eastern Daylight Time" or "Eastern
# Summer Time"? Do they typically prefix the time zone names with
# the word "Australian"?
#
# My own impression is that both "Daylight Time" and "Summer Time" are
# common and are widely understood, but that "Summer Time" is more
# popular; and that the leading "A" is also common but is omitted more
# often than not. I just used AltaVista advanced search and got the
# following count of page hits:
#
# 1,103 "Eastern Summer Time" AND domain:au
# 971 "Australian Eastern Summer Time" AND domain:au
# 613 "Eastern Daylight Time" AND domain:au
# 127 "Australian Eastern Daylight Time" AND domain:au
#
# Here "Summer" seems quite a bit more popular than "Daylight",
# particularly when we know the time zone is Australian and not US,
# say. The "Australian" prefix seems to be popular for Eastern Summer
# Time, but unpopular for Eastern Daylight Time.
#
# For abbreviations, tools like AltaVista are less useful because of
# ambiguity. Many hits are not really time zones, unfortunately, and
# many hits denote US time zones and not Australian ones. But here
# are the hit counts anyway:
#
# 161,304 "EST" and domain:au
# 25,156 "EDT" and domain:au
# 18,263 "AEST" and domain:au
# 10,416 "AEDT" and domain:au
#
# 14,538 "CST" and domain:au
# 5,728 "CDT" and domain:au
# 176 "ACST" and domain:au
# 29 "ACDT" and domain:au
#
# 7,539 "WST" and domain:au
# 68 "AWST" and domain:au
#
# This data suggest that Australians tend to omit the "A" prefix in
# practice. The situation for "ST" versus "DT" is less clear, given
# the ambiguities involved.
#
# * How do Australians feel about the abbreviations in the tz database?
#
# If you just count Australians on this list, I count 2 in favor and 3
# against. One of the "against" votes (David Keegel) counseled delay,
# saying that both AEST/AEDT and EST/EST are widely used and
# understood in Australia.
# From Paul Eggert (1995-12-19):
# Shanks & Pottenger report 2:00 for all autumn changes in Australia and NZ.
# Mark Prior writes that his newspaper
# reports that NSW's fall 1995 change will occur at 2:00,
# but Robert Elz says it's been 3:00 in Victoria since 1970
# and perhaps the newspaper's `2:00' is referring to standard time.
# For now we'll continue to assume 2:00s for changes since 1960.
# From Eric Ulevik (1998-01-05):
#
# Here are some URLs to Australian time legislation. These URLs are stable,
# and should probably be included in the data file. There are probably more
# relevant entries in this database.
#
# NSW (including LHI and Broken Hill):
# <a href="http://www.austlii.edu.au/au/legis/nsw/consol_act/sta1987137/index.html">
# Standard Time Act 1987 (updated 1995-04-04)
# </a>
# ACT
# <a href="http://www.austlii.edu.au/au/legis/act/consol_act/stasta1972279/index.html">
# Standard Time and Summer Time Act 1972
# </a>
# SA
# <a href="http://www.austlii.edu.au/au/legis/sa/consol_act/sta1898137/index.html">
# Standard Time Act, 1898
# </a>
# From David Grosz (2005-06-13):
# It was announced last week that Daylight Saving would be extended by
# one week next year to allow for the 2006 Commonwealth Games.
# Daylight Saving is now to end for next year only on the first Sunday
# in April instead of the last Sunday in March.
#
# From Gwillim Law (2005-06-14):
# I did some Googling and found that all of those states (and territory) plan
# to extend DST together in 2006.
# ACT: http://www.cmd.act.gov.au/mediareleases/fileread.cfm?file=86.txt
# New South Wales: http://www.thecouriermail.news.com.au/common/story_page/0,5936,15538869%255E1702,00.html
# South Australia: http://www.news.com.au/story/0,10117,15555031-1246,00.html
# Tasmania: http://www.media.tas.gov.au/release.php?id=14772
# Victoria: I wasn't able to find anything separate, but the other articles
# allude to it.
# But not Queensland
# http://www.news.com.au/story/0,10117,15564030-1248,00.html.
# Northern Territory
# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06):
# # The NORTHERN TERRITORY.. [ Courtesy N.T. Dept of the Chief Minister ]
# # [ Nov 1990 ]
# # N.T. have never utilised any DST due to sub-tropical/tropical location.
# ...
# Zone Australia/North 9:30 - CST
# From Bradley White (1991-03-04):
# A recent excerpt from an Australian newspaper...
# the Northern Territory do[es] not have daylight saving.
# Western Australia
# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06):
# # The state of WESTERN AUSTRALIA.. [ Courtesy W.A. dept Premier+Cabinet ]
# # [ Nov 1990 ]
# # W.A. suffers from a great deal of public and political opposition to
# # DST in principle. A bill is brought before parliament in most years, but
# # usually defeated either in the upper house, or in party caucus
# # before reaching parliament.
# ...
# Zone Australia/West 8:00 AW %sST
# ...
# Rule AW 1974 only - Oct lastSun 2:00 1:00 D
# Rule AW 1975 only - Mar Sun>=1 3:00 0 W
# Rule AW 1983 only - Oct lastSun 2:00 1:00 D
# Rule AW 1984 only - Mar Sun>=1 3:00 0 W
# From Bradley White (1991-03-04):
# A recent excerpt from an Australian newspaper...
# Western Australia...do[es] not have daylight saving.
# From John D. Newman via Bradley White (1991-11-02):
# Western Australia is still on "winter time". Some DH in Sydney
# rang me at home a few days ago at 6.00am. (He had just arrived at
# work at 9.00am.)
# W.A. is switching to Summer Time on Nov 17th just to confuse
# everybody again.
# From Arthur David Olson (1992-03-08):
# The 1992 ending date used in the rules is a best guess;
# it matches what was used in the past.
# <a href="http://www.bom.gov.au/faq/faqgen.htm">
# The Australian Bureau of Meteorology FAQ
# </a> (1999-09-27) writes that Giles Meteorological Station uses
# South Australian time even though it's located in Western Australia.
# Queensland
# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06):
# # The state of QUEENSLAND.. [ Courtesy Qld. Dept Premier Econ&Trade Devel ]
# # [ Dec 1990 ]
# ...
# Zone Australia/Queensland 10:00 AQ %sST
# ...
# Rule AQ 1971 only - Oct lastSun 2:00 1:00 D
# Rule AQ 1972 only - Feb lastSun 3:00 0 E
# Rule AQ 1989 max - Oct lastSun 2:00 1:00 D
# Rule AQ 1990 max - Mar Sun>=1 3:00 0 E
# From Bradley White (1989-12-24):
# "Australia/Queensland" now observes daylight time (i.e. from
# October 1989).
# From Bradley White (1991-03-04):
# A recent excerpt from an Australian newspaper...
# ...Queensland...[has] agreed to end daylight saving
# at 3am tomorrow (March 3)...
# From John Mackin (1991-03-06):
# I can certainly confirm for my part that Daylight Saving in NSW did in fact
# end on Sunday, 3 March. I don't know at what hour, though. (It surprised
# me.)
# From Bradley White (1992-03-08):
# ...there was recently a referendum in Queensland which resulted
# in the experimental daylight saving system being abandoned. So, ...
# ...
# Rule QLD 1989 1991 - Oct lastSun 2:00 1:00 D
# Rule QLD 1990 1992 - Mar Sun>=1 3:00 0 S
# ...
# From Arthur David Olson (1992-03-08):
# The chosen rules the union of the 1971/1972 change and the 1989-1992 changes.
# From Christopher Hunt (2006-11-21), after an advance warning
# from Jesper Norgaard Welen (2006-11-01):
# WA are trialing DST for three years.
# <http://www.parliament.wa.gov.au/parliament/bills.nsf/9A1B183144403DA54825721200088DF1/$File/Bill175-1B.pdf>
# From Rives McDow (2002-04-09):
# The most interesting region I have found consists of three towns on the
# southern coast.... South Australia observes daylight saving time; Western
# Australia does not. The two states are one and a half hours apart. The
# residents decided to forget about this nonsense of changing the clock so
# much and set the local time 20 hours and 45 minutes from the
# international date line, or right in the middle of the time of South
# Australia and Western Australia....
#
# From Paul Eggert (2002-04-09):
# This is confirmed by the section entitled
# "What's the deal with time zones???" in
# <http://www.earthsci.unimelb.edu.au/~awatkins/null.html>.
#
# From Alex Livingston (2006-12-07):
# ... it was just on four years ago that I drove along the Eyre Highway,
# which passes through eastern Western Australia close to the southern
# coast of the continent.
#
# I paid particular attention to the time kept there. There can be no
# dispute that UTC+08:45 was considered "the time" from the border
# village just inside the border with South Australia to as far west
# as just east of Caiguna. There can also be no dispute that Eucla is
# the largest population centre in this zone....
#
# Now that Western Australia is observing daylight saving, the
# question arose whether this part of the state would follow suit. I
# just called the border village and confirmed that indeed they have,
# meaning that they are now observing UTC+09:45.
#
# (2006-12-09):
# I personally doubt that either experimentation with daylight saving
# in WA or its introduction in SA had anything to do with the genesis
# of this time zone. My hunch is that it's been around since well
# before 1975. I remember seeing it noted on road maps decades ago.
# From Paul Eggert (2006-12-15):
# For lack of better info, assume the tradition dates back to the
# introduction of standard time in 1895.
# southeast Australia
#
# From Paul Eggert (2007-07-23):
# Starting autumn 2008 Victoria, NSW, South Australia, Tasmania and the ACT
# end DST the first Sunday in April and start DST the first Sunday in October.
# http://www.theage.com.au/news/national/daylight-savings-to-span-six-months/2007/06/27/1182623966703.html
# South Australia
# From Bradley White (1991-03-04):
# A recent excerpt from an Australian newspaper...
# ...South Australia...[has] agreed to end daylight saving
# at 3am tomorrow (March 3)...
# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06):
# # The state of SOUTH AUSTRALIA....[ Courtesy of S.A. Dept of Labour ]
# # [ Nov 1990 ]
# ...
# Zone Australia/South 9:30 AS %sST
# ...
# Rule AS 1971 max - Oct lastSun 2:00 1:00 D
# Rule AS 1972 1985 - Mar Sun>=1 3:00 0 C
# Rule AS 1986 1990 - Mar Sun>=15 3:00 0 C
# Rule AS 1991 max - Mar Sun>=1 3:00 0 C
# From Bradley White (1992-03-11):
# Recent correspondence with a friend in Adelaide
# contained the following exchange: "Due to the Adelaide Festival,
# South Australia delays setting back our clocks for a few weeks."
# From Robert Elz (1992-03-13):
# I heard that apparently (or at least, it appears that)
# South Aus will have an extra 3 weeks daylight saving every even
# numbered year (from 1990). That's when the Adelaide Festival
# is on...
# From Robert Elz (1992-03-16, 00:57:07 +1000):
# DST didn't end in Adelaide today (yesterday)....
# But whether it's "4th Sunday" or "2nd last Sunday" I have no idea whatever...
# (it's just as likely to be "the Sunday we pick for this year"...).
# From Bradley White (1994-04-11):
# If Sun, 15 March, 1992 was at +1030 as kre asserts, but yet Sun, 20 March,
# 1994 was at +0930 as John Connolly's customer seems to assert, then I can
# only conclude that the actual rule is more complicated....
# From John Warburton (1994-10-07):
# The new Daylight Savings dates for South Australia ...
# was gazetted in the Government Hansard on Sep 26 1994....
# start on last Sunday in October and end in last sunday in March.
# From Paul Eggert (2007-07-23):
# See "southeast Australia" above for 2008 and later.
# Tasmania
# The rules for 1967 through 1991 were reported by George Shepherd
# via Simon Woodhead via Robert Elz (1991-03-06):
# # The state of TASMANIA.. [Courtesy Tasmanian Dept of Premier + Cabinet ]
# # [ Nov 1990 ]
# From Bill Hart via Guy Harris (1991-10-10):
# Oh yes, the new daylight savings rules are uniquely tasmanian, we have
# 6 weeks a year now when we are out of sync with the rest of Australia
# (but nothing new about that).
# From Alex Livingston (1999-10-04):
# I heard on the ABC (Australian Broadcasting Corporation) radio news on the
# (long) weekend that Tasmania, which usually goes its own way in this regard,
# has decided to join with most of NSW, the ACT, and most of Victoria
# (Australia) and start daylight saving on the last Sunday in August in 2000
# instead of the first Sunday in October.
# Sim Alam (2000-07-03) reported a legal citation for the 2000/2001 rules:
# http://www.thelaw.tas.gov.au/fragview/42++1968+GS3A@EN+2000070300
# From Paul Eggert (2007-07-23):
# See "southeast Australia" above for 2008 and later.
# Victoria
# The rules for 1971 through 1991 were reported by George Shepherd
# via Simon Woodhead via Robert Elz (1991-03-06):
# # The state of VICTORIA.. [ Courtesy of Vic. Dept of Premier + Cabinet ]
# # [ Nov 1990 ]
# From Scott Harrington (2001-08-29):
# On KQED's "City Arts and Lectures" program last night I heard an
# interesting story about daylight savings time. Dr. John Heilbron was
# discussing his book "The Sun in the Church: Cathedrals as Solar
# Observatories"[1], and in particular the Shrine of Remembrance[2] located
# in Melbourne, Australia.
#
# Apparently the shrine's main purpose is a beam of sunlight which
# illuminates a special spot on the floor at the 11th hour of the 11th day
# of the 11th month (Remembrance Day) every year in memory of Australia's
# fallen WWI soldiers. And if you go there on Nov. 11, at 11am local time,
# you will indeed see the sunbeam illuminate the special spot at the
# expected time.
#
# However, that is only because of some special mirror contraption that had
# to be employed, since due to daylight savings time, the true solar time of
# the remembrance moment occurs one hour later (or earlier?). Perhaps
# someone with more information on this jury-rig can tell us more.
#
# [1] http://www.hup.harvard.edu/catalog/HEISUN.html
# [2] http://www.shrine.org.au
# From Paul Eggert (2007-07-23):
# See "southeast Australia" above for 2008 and later.
# New South Wales
# From Arthur David Olson:
# New South Wales and subjurisdictions have their own ideas of a fun time.
# Based on law library research by John Mackin,
# who notes:
# In Australia, time is not legislated federally, but rather by the
# individual states. Thus, while such terms as ``Eastern Standard Time''
# [I mean, of course, Australian EST, not any other kind] are in common
# use, _they have NO REAL MEANING_, as they are not defined in the
# legislation. This is very important to understand.
# I have researched New South Wales time only...
# From Eric Ulevik (1999-05-26):
# DST will start in NSW on the last Sunday of August, rather than the usual
# October in 2000. [See: Matthew Moore,
# <a href="http://www.smh.com.au/news/9905/26/pageone/pageone4.html">
# Two months more daylight saving
# </a>
# Sydney Morning Herald (1999-05-26).]
# From Paul Eggert (1999-09-27):
# See the following official NSW source:
# <a href="http://dir.gis.nsw.gov.au/cgi-bin/genobject/document/other/daylightsaving/tigGmZ">
# Daylight Saving in New South Wales.
# </a>
#
# Narrabri Shire (NSW) council has announced it will ignore the extension of
# daylight saving next year. See:
# <a href="http://abc.net.au/news/regionals/neweng/monthly/regeng-22jul1999-1.htm">
# Narrabri Council to ignore daylight saving
# </a> (1999-07-22). For now, we'll wait to see if this really happens.
#
# Victoria will following NSW. See:
# <a href="http://abc.net.au/local/news/olympics/1999/07/item19990728112314_1.htm">
# Vic to extend daylight saving
# </a> (1999-07-28).
#
# However, South Australia rejected the DST request. See:
# <a href="http://abc.net.au/news/olympics/1999/07/item19990719151754_1.htm">
# South Australia rejects Olympics daylight savings request
# </a> (1999-07-19).
#
# Queensland also will not observe DST for the Olympics. See:
# <a href="http://abc.net.au/news/olympics/1999/06/item19990601114608_1.htm">
# Qld says no to daylight savings for Olympics
# </a> (1999-06-01), which quotes Queensland Premier Peter Beattie as saying
# ``Look you've got to remember in my family when this came up last time
# I voted for it, my wife voted against it and she said to me it's all very
# well for you, you don't have to worry about getting the children out of
# bed, getting them to school, getting them to sleep at night.
# I've been through all this argument domestically...my wife rules.''
#
# Broken Hill will stick with South Australian time in 2000. See:
# <a href="http://abc.net.au/news/regionals/brokenh/monthly/regbrok-21jul1999-6.htm">
# Broken Hill to be behind the times
# </a> (1999-07-21).
# IATA SSIM (1998-09) says that the spring 2000 change for Australian
# Capital Territory, New South Wales except Lord Howe Island and Broken
# Hill, and Victoria will be August 27, presumably due to the Sydney Olympics.
# From Eric Ulevik, referring to Sydney's Sun Herald (2000-08-13), page 29:
# The Queensland Premier Peter Beattie is encouraging northern NSW
# towns to use Queensland time.
# From Paul Eggert (2007-07-23):
# See "southeast Australia" above for 2008 and later.
# Yancowinna
# From John Mackin (1989-01-04):
# `Broken Hill' means the County of Yancowinna.
# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06):
# # YANCOWINNA.. [ Confirmation courtesy of Broken Hill Postmaster ]
# # [ Dec 1990 ]
# ...
# # Yancowinna uses Central Standard Time, despite [its] location on the
# # New South Wales side of the S.A. border. Most business and social dealings
# # are with CST zones, therefore CST is legislated by local government
# # although the switch to Summer Time occurs in line with N.S.W. There have
# # been years when this did not apply, but the historical data is not
# # presently available.
# Zone Australia/Yancowinna 9:30 AY %sST
# ...
# Rule AY 1971 1985 - Oct lastSun 2:00 1:00 D
# Rule AY 1972 only - Feb lastSun 3:00 0 C
# [followed by other Rules]
# Lord Howe Island
# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06):
# LHI... [ Courtesy of Pauline Van Winsen ]
# [ Dec 1990 ]
# Lord Howe Island is located off the New South Wales coast, and is half an
# hour ahead of NSW time.
# From James Lonergan, Secretary, Lord Howe Island Board (2000-01-27):
# Lord Howe Island summer time in 2000/2001 will commence on the same
# date as the rest of NSW (i.e. 2000-08-27). For your information the
# Lord Howe Island Board (controlling authority for the Island) is
# seeking the community's views on various options for summer time
# arrangements on the Island, e.g. advance clocks by 1 full hour
# instead of only 30 minutes. [Dependent] on the wishes of residents
# the Board may approach the NSW government to change the existing
# arrangements. The starting date for summer time on the Island will
# however always coincide with the rest of NSW.
# From James Lonergan, Secretary, Lord Howe Island Board (2000-10-25):
# Lord Howe Island advances clocks by 30 minutes during DST in NSW and retards
# clocks by 30 minutes when DST finishes. Since DST was most recently
# introduced in NSW, the "changeover" time on the Island has been 02:00 as
# shown on clocks on LHI. I guess this means that for 30 minutes at the start
# of DST, LHI is actually 1 hour ahead of the rest of NSW.
# From Paul Eggert (2006-03-22):
# For Lord Howe dates we use Shanks & Pottenger through 1989, and
# Lonergan thereafter. For times we use Lonergan.
# From Paul Eggert (2007-07-23):
# See "southeast Australia" above for 2008 and later.
# From Steffen Thorsen (2009-04-28):
# According to the official press release, South Australia's extended daylight
# saving period will continue with the same rules as used during the 2008-2009
# summer (southern hemisphere).
#
# From
# <a href="http://www.safework.sa.gov.au/uploaded_files/DaylightDatesSet.pdf">
# http://www.safework.sa.gov.au/uploaded_files/DaylightDatesSet.pdf
# </a>
# The extended daylight saving period that South Australia has been trialling
# for over the last year is now set to be ongoing.
# Daylight saving will continue to start on the first Sunday in October each
# year and finish on the first Sunday in April the following year.
# Industrial Relations Minister, Paul Caica, says this provides South Australia
# with a consistent half hour time difference with NSW, Victoria, Tasmania and
# the ACT for all 52 weeks of the year...
#
# We have a wrap-up here:
# <a href="http://www.timeanddate.com/news/time/south-australia-extends-dst.html">
# http://www.timeanddate.com/news/time/south-australia-extends-dst.html
# </a>
###############################################################################
# New Zealand
# From Mark Davies (1990-10-03):
# the 1989/90 year was a trial of an extended "daylight saving" period.
# This trial was deemed successful and the extended period adopted for
# subsequent years (with the addition of a further week at the start).
# source -- phone call to Ministry of Internal Affairs Head Office.
# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06):
# # The Country of New Zealand (Australia's east island -) Gee they hate that!
# # or is Australia the west island of N.Z.
# # [ courtesy of Geoff Tribble.. Auckland N.Z. ]
# # [ Nov 1990 ]
# ...
# Rule NZ 1974 1988 - Oct lastSun 2:00 1:00 D
# Rule NZ 1989 max - Oct Sun>=1 2:00 1:00 D
# Rule NZ 1975 1989 - Mar Sun>=1 3:00 0 S
# Rule NZ 1990 max - Mar lastSun 3:00 0 S
# ...
# Zone NZ 12:00 NZ NZ%sT # New Zealand
# Zone NZ-CHAT 12:45 - NZ-CHAT # Chatham Island
# From Arthur David Olson (1992-03-08):
# The chosen rules use the Davies October 8 values for the start of DST in 1989
# rather than the October 1 value.
# From Paul Eggert (1995-12-19);
# Shank & Pottenger report 2:00 for all autumn changes in Australia and NZ.
# Robert Uzgalis writes that the New Zealand Daylight
# Savings Time Order in Council dated 1990-06-18 specifies 2:00 standard
# time on both the first Sunday in October and the third Sunday in March.
# As with Australia, we'll assume the tradition is 2:00s, not 2:00.
#
# From Paul Eggert (2006-03-22):
# The Department of Internal Affairs (DIA) maintains a brief history,
# as does Carol Squires; see tz-link.htm for the full references.
# Use these sources in preference to Shanks & Pottenger.
#
# For Chatham, IATA SSIM (1991/1999) gives the NZ rules but with
# transitions at 2:45 local standard time; this confirms that Chatham
# is always exactly 45 minutes ahead of Auckland.
# From Colin Sharples (2007-04-30):
# DST will now start on the last Sunday in September, and end on the
# first Sunday in April. The changes take effect this year, meaning
# that DST will begin on 2007-09-30 2008-04-06.
# http://www.dia.govt.nz/diawebsite.nsf/wpg_URL/Services-Daylight-Saving-Daylight-saving-to-be-extended
###############################################################################
# Fiji
# Howse writes (p 153) that in 1879 the British governor of Fiji
# enacted an ordinance standardizing the islands on Antipodean Time
# instead of the American system (which was one day behind).
# From Rives McDow (1998-10-08):
# Fiji will introduce DST effective 0200 local time, 1998-11-01
# until 0300 local time 1999-02-28. Each year the DST period will
# be from the first Sunday in November until the last Sunday in February.
# From Paul Eggert (2000-01-08):
# IATA SSIM (1999-09) says DST ends 0100 local time. Go with McDow.
# From the BBC World Service (1998-10-31 11:32 UTC):
# The Fijiian government says the main reasons for the time change is to
# improve productivity and reduce road accidents. But correspondents say it
# also hopes the move will boost Fiji's ability to compete with other pacific
# islands in the effort to attract tourists to witness the dawning of the new
# millenium.
# http://www.fiji.gov.fj/press/2000_09/2000_09_13-05.shtml (2000-09-13)
# reports that Fiji has discontinued DST.
# Johnston
# Johnston data is from usno1995.
# Kiribati
# From Paul Eggert (1996-01-22):
# Today's _Wall Street Journal_ (page 1) reports that Kiribati
# ``declared it the same day [throughout] the country as of Jan. 1, 1995''
# as part of the competition to be first into the 21st century.
# Kwajalein
# In comp.risks 14.87 (26 August 1993), Peter Neumann writes:
# I wonder what happened in Kwajalein, where there was NO Friday,
# 1993-08-20. Thursday night at midnight Kwajalein switched sides with
# respect to the International Date Line, to rejoin its fellow islands,
# going from 11:59 p.m. Thursday to 12:00 m. Saturday in a blink.
# N Mariana Is, Guam
# Howse writes (p 153) ``The Spaniards, on the other hand, reached the
# Philippines and the Ladrones from America,'' and implies that the Ladrones
# (now called the Marianas) kept American date for quite some time.
# For now, we assume the Ladrones switched at the same time as the Philippines;
# see Asia/Manila.
# US Public Law 106-564 (2000-12-23) made UTC+10 the official standard time,
# under the name "Chamorro Standard Time". There is no official abbreviation,
# but Congressman Robert A. Underwood, author of the bill that became law,
# wrote in a press release (2000-12-27) that he will seek the use of "ChST".
# Micronesia
# Alan Eugene Davis writes (1996-03-16),
# ``I am certain, having lived there for the past decade, that "Truk"
# (now properly known as Chuuk) ... is in the time zone GMT+10.''
#
# Shanks & Pottenger write that Truk switched from UTC+10 to UTC+11
# on 1978-10-01; ignore this for now.
# From Paul Eggert (1999-10-29):
# The Federated States of Micronesia Visitors Board writes in
# <a href="http://www.fsmgov.org/info/clocks.html">
# The Federated States of Micronesia - Visitor Information
# </a> (1999-01-26)
# that Truk and Yap are UTC+10, and Ponape and Kosrae are UTC+11.
# We don't know when Kosrae switched from UTC+12; assume January 1 for now.
# Midway
# From Charles T O'Connor, KMTH DJ (1956),
# quoted in the KTMH section of the Radio Heritage Collection
# <http://radiodx.com/spdxr/KMTH.htm> (2002-12-31):
# For the past two months we've been on what is known as Daylight
# Saving Time. This time has put us on air at 5am in the morning,
# your time down there in New Zealand. Starting September 2, 1956
# we'll again go back to Standard Time. This'll mean that we'll go to
# air at 6am your time.
#
# From Paul Eggert (2003-03-23):
# We don't know the date of that quote, but we'll guess they
# started DST on June 3. Possibly DST was observed other years
# in Midway, but we have no record of it.
# Pitcairn
# From Rives McDow (1999-11-08):
# A Proclamation was signed by the Governor of Pitcairn on the 27th March 1998
# with regard to Pitcairn Standard Time. The Proclamation is as follows.
#
# The local time for general purposes in the Islands shall be
# Co-ordinated Universal time minus 8 hours and shall be known
# as Pitcairn Standard Time.
#
# ... I have also seen Pitcairn listed as UTC minus 9 hours in several
# references, and can only assume that this was an error in interpretation
# somehow in light of this proclamation.
# From Rives McDow (1999-11-09):
# The Proclamation regarding Pitcairn time came into effect on 27 April 1998
# ... at midnight.
# From Howie Phelps (1999-11-10), who talked to a Pitcairner via shortwave:
# Betty Christian told me yesterday that their local time is the same as
# Pacific Standard Time. They used to be 1/2 hour different from us here in
# Sacramento but it was changed a couple of years ago.
# Samoa
# Howse writes (p 153, citing p 10 of the 1883-11-18 New York Herald)
# that in 1879 the King of Samoa decided to change
# ``the date in his kingdom from the Antipodean to the American system,
# ordaining -- by a masterpiece of diplomatic flattery -- that
# the Fourth of July should be celebrated twice in that year.''
# Tonga
# From Paul Eggert (1996-01-22):
# Today's _Wall Street Journal_ (p 1) reports that ``Tonga has been plotting
# to sneak ahead of [New Zealanders] by introducing daylight-saving time.''
# Since Kiribati has moved the Date Line it's not clear what Tonga will do.
# Don Mundell writes in the 1997-02-20 Tonga Chronicle
# <a href="http://www.tongatapu.net.to/tonga/homeland/timebegins.htm">
# How Tonga became `The Land where Time Begins'
# </a>:
# Until 1941 Tonga maintained a standard time 50 minutes ahead of NZST
# 12 hours and 20 minutes ahead of GMT. When New Zealand adjusted its
# standard time in 1940s, Tonga had the choice of subtracting from its
# local time to come on the same standard time as New Zealand or of
# advancing its time to maintain the differential of 13 degrees
# (approximately 50 minutes ahead of New Zealand time).
#
# Because His Majesty King Taufa'ahau Tupou IV, then Crown Prince
# Tungi, preferred to ensure Tonga's title as the land where time
# begins, the Legislative Assembly approved the latter change.
#
# But some of the older, more conservative members from the outer
# islands objected. "If at midnight on Dec. 31, we move ahead 40
# minutes, as your Royal Highness wishes, what becomes of the 40
# minutes we have lost?"
#
# The Crown Prince, presented an unanswerable argument: "Remember that
# on the World Day of Prayer, you would be the first people on Earth
# to say your prayers in the morning."
# From Paul Eggert (2006-03-22):
# Shanks & Pottenger say the transition was on 1968-10-01; go with Mundell.
# From Eric Ulevik (1999-05-03):
# Tonga's director of tourism, who is also secretary of the National Millenium
# Committee, has a plan to get Tonga back in front.
# He has proposed a one-off move to tropical daylight saving for Tonga from
# October to March, which has won approval in principle from the Tongan
# Government.
# From Steffen Thorsen (1999-09-09):
# * Tonga will introduce DST in November
#
# I was given this link by John Letts:
# <a href="http://news.bbc.co.uk/hi/english/world/asia-pacific/newsid_424000/424764.stm">
# http://news.bbc.co.uk/hi/english/world/asia-pacific/newsid_424000/424764.stm
# </a>
#
# I have not been able to find exact dates for the transition in November
# yet. By reading this article it seems like Fiji will be 14 hours ahead
# of UTC as well, but as far as I know Fiji will only be 13 hours ahead
# (12 + 1 hour DST).
# From Arthur David Olson (1999-09-20):
# According to <a href="http://www.tongaonline.com/news/sept1799.html">
# http://www.tongaonline.com/news/sept1799.html
# </a>:
# "Daylight Savings Time will take effect on Oct. 2 through April 15, 2000
# and annually thereafter from the first Saturday in October through the
# third Saturday of April. Under the system approved by Privy Council on
# Sept. 10, clocks must be turned ahead one hour on the opening day and
# set back an hour on the closing date."
# Alas, no indication of the time of day.
# From Rives McDow (1999-10-06):
# Tonga started its Daylight Saving on Saturday morning October 2nd at 0200am.
# Daylight Saving ends on April 16 at 0300am which is Sunday morning.
# From Steffen Thorsen (2000-10-31):
# Back in March I found a notice on the website http://www.tongaonline.com
# that Tonga changed back to standard time one month early, on March 19
# instead of the original reported date April 16. Unfortunately, the article
# is no longer available on the site, and I did not make a copy of the
# text, and I have forgotten to report it here.
# (Original URL was: http://www.tongaonline.com/news/march162000.htm )
# From Rives McDow (2000-12-01):
# Tonga is observing DST as of 2000-11-04 and will stop on 2001-01-27.
# From Sione Moala-Mafi (2001-09-20) via Rives McDow:
# At 2:00am on the first Sunday of November, the standard time in the Kingdom
# shall be moved forward by one hour to 3:00am. At 2:00am on the last Sunday
# of January the standard time in the Kingdom shall be moved backward by one
# hour to 1:00am.
# From Pulu 'Anau (2002-11-05):
# The law was for 3 years, supposedly to get renewed. It wasn't.
# Wake
# From Vernice Anderson, Personal Secretary to Philip Jessup,
# US Ambassador At Large (oral history interview, 1971-02-02):
#
# Saturday, the 14th [of October, 1950] -- ... The time was all the
# more confusing at that point, because we had crossed the
# International Date Line, thus getting two Sundays. Furthermore, we
# discovered that Wake Island had two hours of daylight saving time
# making calculation of time in Washington difficult if not almost
# impossible.
#
# http://www.trumanlibrary.org/wake/meeting.htm
# From Paul Eggert (2003-03-23):
# We have no other report of DST in Wake Island, so omit this info for now.
###############################################################################
# The International Date Line
# From Gwillim Law (2000-01-03):
#
# The International Date Line is not defined by any international standard,
# convention, or treaty. Mapmakers are free to draw it as they please.
# Reputable mapmakers will simply ensure that every point of land appears on
# the correct side of the IDL, according to the date legally observed there.
#
# When Kiribati adopted a uniform date in 1995, thereby moving the Phoenix and
# Line Islands to the west side of the IDL (or, if you prefer, moving the IDL
# to the east side of the Phoenix and Line Islands), I suppose that most
# mapmakers redrew the IDL following the boundary of Kiribati. Even that line
# has a rather arbitrary nature. The straight-line boundaries between Pacific
# island nations that are shown on many maps are based on an international
# convention, but are not legally binding national borders.... The date is
# governed by the IDL; therefore, even on the high seas, there may be some
# places as late as fourteen hours later than UTC. And, since the IDL is not
# an international standard, there are some places on the high seas where the
# correct date is ambiguous.
# From Wikipedia <http://en.wikipedia.org/wiki/Time_zone> (2005-08-31):
# Before 1920, all ships kept local apparent time on the high seas by setting
# their clocks at night or at the morning sight so that, given the ship's
# speed and direction, it would be 12 o'clock when the Sun crossed the ship's
# meridian (12 o'clock = local apparent noon). During 1917, at the
# Anglo-French Conference on Time-keeping at Sea, it was recommended that all
# ships, both military and civilian, should adopt hourly standard time zones
# on the high seas. Whenever a ship was within the territorial waters of any
# nation it would use that nation's standard time. The captain was permitted
# to change his ship's clocks at a time of his choice following his ship's
# entry into another zone time--he often chose midnight. These zones were
# adopted by all major fleets between 1920 and 1925 but not by many
# independent merchant ships until World War II.
# From Paul Eggert, using references suggested by Oscar van Vlijmen
# (2005-03-20):
#
# The American Practical Navigator (2002)
# <http://pollux.nss.nima.mil/pubs/pubs_j_apn_sections.html?rid=187>
# talks only about the 180-degree meridian with respect to ships in
# international waters; it ignores the international date line.
# <pre>
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# This file provides links between current names for time zones
# and their old names. Many names changed in late 1993.
Link Africa/Asmara Africa/Asmera
Link Africa/Bamako Africa/Timbuktu
Link America/Argentina/Catamarca America/Argentina/ComodRivadavia
......
# <pre>
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# These entries are mostly present for historical reasons, so that
# people in areas not otherwise covered by the tz files could "zic -l"
# to a time zone that was right for their area. These days, the
# tz files cover almost all the inhabited world, and the only practical
# need now for the entries that are not on UTC are for ships at sea
# that cannot use POSIX TZ settings.
Zone Etc/GMT 0 - GMT
Zone Etc/UTC 0 - UTC
Zone Etc/UCT 0 - UCT
# The following link uses older naming conventions,
# but it belongs here, not in the file `backward',
# as functions like gmtime load the "GMT" file to handle leap seconds properly.
# We want this to work even on installations that omit the other older names.
Link Etc/GMT GMT
Link Etc/UTC Etc/Universal
Link Etc/UTC Etc/Zulu
Link Etc/GMT Etc/Greenwich
Link Etc/GMT Etc/GMT-0
Link Etc/GMT Etc/GMT+0
Link Etc/GMT Etc/GMT0
# We use POSIX-style signs in the Zone names and the output abbreviations,
# even though this is the opposite of what many people expect.
# POSIX has positive signs west of Greenwich, but many people expect
# positive signs east of Greenwich. For example, TZ='Etc/GMT+4' uses
# the abbreviation "GMT+4" and corresponds to 4 hours behind UTC
# (i.e. west of Greenwich) even though many people would expect it to
# mean 4 hours ahead of UTC (i.e. east of Greenwich).
#
# In the draft 5 of POSIX 1003.1-200x, the angle bracket notation allows for
# TZ='<GMT-4>+4'; if you want time zone abbreviations conforming to
# ISO 8601 you can use TZ='<-0400>+4'. Thus the commonly-expected
# offset is kept within the angle bracket (and is used for display)
# while the POSIX sign is kept outside the angle bracket (and is used
# for calculation).
#
# Do not use a TZ setting like TZ='GMT+4', which is four hours behind
# GMT but uses the completely misleading abbreviation "GMT".
# Earlier incarnations of this package were not POSIX-compliant,
# and had lines such as
# Zone GMT-12 -12 - GMT-1200
# We did not want things to change quietly if someone accustomed to the old
# way does a
# zic -l GMT-12
# so we moved the names into the Etc subdirectory.
Zone Etc/GMT-14 14 - GMT-14 # 14 hours ahead of GMT
Zone Etc/GMT-13 13 - GMT-13
Zone Etc/GMT-12 12 - GMT-12
......
This source diff could not be displayed because it is too large. You can view the blob instead.
# <pre>
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# For companies who don't want to put time zone specification in
# their installation procedures. When users run date, they'll get the message.
# Also useful for the "comp.sources" version.
# Zone NAME GMTOFF RULES FORMAT
Zone Factory 0 - "Local time zone must be set--see zic manual page"
# <pre>
# @(#)iso3166.tab 8.6
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# ISO 3166 alpha-2 country codes
......@@ -21,6 +20,9 @@
#
# Lines beginning with `#' are comments.
#
# From Arthur David Olson (2011-08-17):
# Resynchronized today with the ISO 3166 site (adding SS for South Sudan).
#
#country-
#code country name
AD Andorra
......@@ -30,7 +32,6 @@ AG Antigua & Barbuda
AI Anguilla
AL Albania
AM Armenia
AN Netherlands Antilles
AO Angola
AQ Antarctica
AR Argentina
......@@ -53,6 +54,7 @@ BL St Barthelemy
BM Bermuda
BN Brunei
BO Bolivia
BQ Bonaire Sint Eustatius & Saba
BR Brazil
BS Bahamas
BT Bhutan
......@@ -75,6 +77,7 @@ CO Colombia
CR Costa Rica
CU Cuba
CV Cape Verde
CW Curacao
CX Christmas Island
CY Cyprus
CZ Czech Republic
......@@ -229,8 +232,10 @@ SM San Marino
SN Senegal
SO Somalia
SR Suriname
SS South Sudan
ST Sao Tome & Principe
SV El Salvador
SX Sint Maarten
SY Syria
SZ Swaziland
TC Turks & Caicos Is
......
# <pre>
# @(#)leapseconds 8.11
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
......@@ -48,40 +47,54 @@ Leap 1997 Jun 30 23:59:60 + S
Leap 1998 Dec 31 23:59:60 + S
Leap 2005 Dec 31 23:59:60 + S
Leap 2008 Dec 31 23:59:60 + S
Leap 2012 Jun 30 23:59:60 + S
# INTERNATIONAL EARTH ROTATION AND REFERENCE SYSTEMS SERVICE (IERS)
#
# SERVICE INTERNATIONAL DE LA ROTATION TERRESTRE ET DES SYSTEMES DE REFERENCE
#
#
# SERVICE DE LA ROTATION TERRESTRE
# OBSERVATOIRE DE PARIS
# 61, Av. de l'Observatoire 75014 PARIS (France)
# Tel. : 33 (0) 1 40 51 22 29
# Tel. : 33 (0) 1 40 51 22 26
# FAX : 33 (0) 1 40 51 22 91
# Internet : services.iers@obspm.fr
# e-mail : (E-Mail Removed)
# http://hpiers.obspm.fr/eop-pc
#
# Paris, 5 January 2012
#
# Paris, 2 February 2011
#
# Bulletin C 41
# Bulletin C 43
#
# To authorities responsible
# for the measurement and
# distribution of time
#
# INFORMATION ON UTC - TAI
#
# NO positive leap second will be introduced at the end of June 2011.
# The difference between Coordinated Universal Time UTC and the
# International Atomic Time TAI is :
# UTC TIME STEP
# on the 1st of July 2012
#
#
# A positive leap second will be introduced at the end of June 2012.
# The sequence of dates of the UTC second markers will be:
#
# from 2009 January 1, 0h UTC, until further notice : UTC-TAI = -34 s
# 2012 June 30, 23h 59m 59s
# 2012 June 30, 23h 59m 60s
# 2012 July 1, 0h 0m 0s
#
# The difference between UTC and the International Atomic Time TAI is:
#
# from 2009 January 1, 0h UTC, to 2012 July 1 0h UTC : UTC-TAI = - 34s
# from 2012 July 1, 0h UTC, until further notice : UTC-TAI = - 35s
#
# Leap seconds can be introduced in UTC at the end of the months of December
# or June, depending on the evolution of UT1-TAI. Bulletin C is mailed every
# six months, either to announce a time step in UTC, or to confirm that there
# six months, either to announce a time step in UTC or to confirm that there
# will be no time step at the next possible date.
#
#
# Daniel GAMBIS
# Head
# Earth Orientation Center of the IERS
# Earth Orientation Center of IERS
# Observatoire de Paris, France
This source diff could not be displayed because it is too large. You can view the blob instead.
# <pre>
# @(#)pacificnew 8.2
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
......
# <pre>
# @(#)solar87 8.2
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
......
# <pre>
# @(#)solar88 8.2
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
......
# <pre>
# @(#)solar89 8.2
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
......
# <pre>
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
# tz@iana.org for general use in the future).
# From Paul Eggert (2006-03-22):
# A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition),
# San Diego: ACS Publications, Inc. (2003).
#
# Gwillim Law writes that a good source
# for recent time zone data is the International Air Transport
# Association's Standard Schedules Information Manual (IATA SSIM),
# published semiannually. Law sent in several helpful summaries
# of the IATA's data after 1990.
#
# Except where otherwise noted, Shanks & Pottenger is the source for
# entries through 1990, and IATA SSIM is the source for entries afterwards.
#
# Earlier editions of these tables used the North American style (e.g. ARST and
# ARDT for Argentine Standard and Daylight Time), but the following quote
# suggests that it's better to use European style (e.g. ART and ARST).
# I suggest the use of _Summer time_ instead of the more cumbersome
# _daylight-saving time_. _Summer time_ seems to be in general use
# in Europe and South America.
# -- E O Cutler, _New York Times_ (1937-02-14), quoted in
# H L Mencken, _The American Language: Supplement I_ (1960), p 466
#
# Earlier editions of these tables also used the North American style
# for time zones in Brazil, but this was incorrect, as Brazilians say
# "summer time". Reinaldo Goulart, a Sao Paulo businessman active in
# the railroad sector, writes (1999-07-06):
# The subject of time zones is currently a matter of discussion/debate in
# Brazil. Let's say that "the Brasilia time" is considered the
# "official time" because Brasilia is the capital city.
# The other three time zones are called "Brasilia time "minus one" or
# "plus one" or "plus two". As far as I know there is no such
# name/designation as "Eastern Time" or "Central Time".
# So I invented the following (English-language) abbreviations for now.
# Corrections are welcome!
# std dst
# -2:00 FNT FNST Fernando de Noronha
# -3:00 BRT BRST Brasilia
# -4:00 AMT AMST Amazon
# -5:00 ACT ACST Acre
###############################################################################
###############################################################################
# Argentina
# From Bob Devine (1988-01-28):
# Argentina: first Sunday in October to first Sunday in April since 1976.
# Double Summer time from 1969 to 1974. Switches at midnight.
# From U. S. Naval Observatory (1988-01-199):
# ARGENTINA 3 H BEHIND UTC
# From Hernan G. Otero (1995-06-26):
# I am sending modifications to the Argentine time zone table...
# AR was chosen because they are the ISO letters that represent Argentina.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Arg 1930 only - Dec 1 0:00 1:00 S
Rule Arg 1931 only - Apr 1 0:00 0 -
Rule Arg 1931 only - Oct 15 0:00 1:00 S
......@@ -20,14 +87,379 @@ Rule Arg 1968 1969 - Apr Sun>=1 0:00 0 -
Rule Arg 1974 only - Jan 23 0:00 1:00 S
Rule Arg 1974 only - May 1 0:00 0 -
Rule Arg 1988 only - Dec 1 0:00 1:00 S
#
# From Hernan G. Otero (1995-06-26):
# These corrections were contributed by InterSoft Argentina S.A.,
# obtaining the data from the:
# Talleres de Hidrografia Naval Argentina
# (Argentine Naval Hydrography Institute)
Rule Arg 1989 1993 - Mar Sun>=1 0:00 0 -
Rule Arg 1989 1992 - Oct Sun>=15 0:00 1:00 S
#
# From Hernan G. Otero (1995-06-26):
# From this moment on, the law that mandated the daylight saving
# time corrections was derogated and no more modifications
# to the time zones (for daylight saving) are now made.
#
# From Rives McDow (2000-01-10):
# On October 3, 1999, 0:00 local, Argentina implemented daylight savings time,
# which did not result in the switch of a time zone, as they stayed 9 hours
# from the International Date Line.
Rule Arg 1999 only - Oct Sun>=1 0:00 1:00 S
# From Paul Eggert (2007-12-28):
# DST was set to expire on March 5, not March 3, but since it was converted
# to standard time on March 3 it's more convenient for us to pretend that
# it ended on March 3.
Rule Arg 2000 only - Mar 3 0:00 0 -
#
# From Peter Gradelski via Steffen Thorsen (2000-03-01):
# We just checked with our Sao Paulo office and they say the government of
# Argentina decided not to become one of the countries that go on or off DST.
# So Buenos Aires should be -3 hours from GMT at all times.
#
# From Fabian L. Arce Jofre (2000-04-04):
# The law that claimed DST for Argentina was derogated by President Fernando
# de la Rua on March 2, 2000, because it would make people spend more energy
# in the winter time, rather than less. The change took effect on March 3.
#
# From Mariano Absatz (2001-06-06):
# one of the major newspapers here in Argentina said that the 1999
# Timezone Law (which never was effectively applied) will (would?) be
# in effect.... The article is at
# http://ar.clarin.com/diario/2001-06-06/e-01701.htm
# ... The Law itself is "Ley No 25155", sanctioned on 1999-08-25, enacted
# 1999-09-17, and published 1999-09-21. The official publication is at:
# http://www.boletin.jus.gov.ar/BON/Primera/1999/09-Septiembre/21/PDF/BO21-09-99LEG.PDF
# Regretfully, you have to subscribe (and pay) for the on-line version....
#
# (2001-06-12):
# the timezone for Argentina will not change next Sunday.
# Apparently it will do so on Sunday 24th....
# http://ar.clarin.com/diario/2001-06-12/s-03501.htm
#
# (2001-06-25):
# Last Friday (yes, the last working day before the date of the change), the
# Senate annulled the 1999 law that introduced the changes later postponed.
# http://www.clarin.com.ar/diario/2001-06-22/s-03601.htm
# It remains the vote of the Deputies..., but it will be the same....
# This kind of things had always been done this way in Argentina.
# We are still -03:00 all year round in all of the country.
#
# From Steffen Thorsen (2007-12-21):
# A user (Leonardo Chaim) reported that Argentina will adopt DST....
# all of the country (all Zone-entries) are affected. News reports like
# http://www.lanacion.com.ar/opinion/nota.asp?nota_id=973037 indicate
# that Argentina will use DST next year as well, from October to
# March, although exact rules are not given.
#
# From Jesper Norgaard Welen (2007-12-26)
# The last hurdle of Argentina DST is over, the proposal was approved in
# the lower chamber too (Deputados) with a vote 192 for and 2 against.
# By the way thanks to Mariano Absatz and Daniel Mario Vega for the link to
# the original scanned proposal, where the dates and the zero hours are
# clear and unambiguous...This is the article about final approval:
# <a href="http://www.lanacion.com.ar/politica/nota.asp?nota_id=973996">
# http://www.lanacion.com.ar/politica/nota.asp?nota_id=973996
# </a>
#
# From Paul Eggert (2007-12-22):
# For dates after mid-2008, the following rules are my guesses and
# are quite possibly wrong, but are more likely than no DST at all.
# From Alexander Krivenyshev (2008-09-05):
# As per message from Carlos Alberto Fonseca Arauz (Nicaragua),
# Argentina will start DST on Sunday October 19, 2008.
#
# <a href="http://www.worldtimezone.com/dst_news/dst_news_argentina03.html">
# http://www.worldtimezone.com/dst_news/dst_news_argentina03.html
# </a>
# OR
# <a href="http://www.impulsobaires.com.ar/nota.php?id=57832 (in spanish)">
# http://www.impulsobaires.com.ar/nota.php?id=57832 (in spanish)
# </a>
# From Rodrigo Severo (2008-10-06):
# Here is some info available at a Gentoo bug related to TZ on Argentina's DST:
# ...
# ------- Comment #1 from [jmdocile] 2008-10-06 16:28 0000 -------
# Hi, there is a problem with timezone-data-2008e and maybe with
# timezone-data-2008f
# Argentinian law [Number] 25.155 is no longer valid.
# <a href="http://www.infoleg.gov.ar/infolegInternet/anexos/60000-64999/60036/norma.htm">
# http://www.infoleg.gov.ar/infolegInternet/anexos/60000-64999/60036/norma.htm
# </a>
# The new one is law [Number] 26.350
# <a href="http://www.infoleg.gov.ar/infolegInternet/anexos/135000-139999/136191/norma.htm">
# http://www.infoleg.gov.ar/infolegInternet/anexos/135000-139999/136191/norma.htm
# </a>
# So there is no summer time in Argentina for now.
# From Mariano Absatz (2008-10-20):
# Decree 1693/2008 applies Law 26.350 for the summer 2008/2009 establishing DST in Argentina
# From 2008-10-19 until 2009-03-15
# <a href="http://www.boletinoficial.gov.ar/Bora.Portal/CustomControls/PdfContent.aspx?fp=16102008&pi=3&pf=4&s=0&sec=01">
# http://www.boletinoficial.gov.ar/Bora.Portal/CustomControls/PdfContent.aspx?fp=16102008&pi=3&pf=4&s=0&sec=01
# </a>
#
# Decree 1705/2008 excepting 12 Provinces from applying DST in the summer 2008/2009:
# Catamarca, La Rioja, Mendoza, Salta, San Juan, San Luis, La Pampa, Neuquen, Rio Negro, Chubut, Santa Cruz
# and Tierra del Fuego
# <a href="http://www.boletinoficial.gov.ar/Bora.Portal/CustomControls/PdfContent.aspx?fp=17102008&pi=1&pf=1&s=0&sec=01">
# http://www.boletinoficial.gov.ar/Bora.Portal/CustomControls/PdfContent.aspx?fp=17102008&pi=1&pf=1&s=0&sec=01
# </a>
#
# Press release 235 dated Saturday October 18th, from the Government of the Province of Jujuy saying
# it will not apply DST either (even when it was not included in Decree 1705/2008)
# <a href="http://www.jujuy.gov.ar/index2/partes_prensa/18_10_08/235-181008.doc">
# http://www.jujuy.gov.ar/index2/partes_prensa/18_10_08/235-181008.doc
# </a>
# From fullinet (2009-10-18):
# As announced in
# <a hef="http://www.argentina.gob.ar/argentina/portal/paginas.dhtml?pagina=356">
# http://www.argentina.gob.ar/argentina/portal/paginas.dhtml?pagina=356
# </a>
# (an official .gob.ar) under title: "Sin Cambio de Hora" (english: "No hour change")
#
# "Por el momento, el Gobierno Nacional resolvio no modificar la hora
# oficial, decision que estaba en estudio para su implementacion el
# domingo 18 de octubre. Desde el Ministerio de Planificacion se anuncio
# que la Argentina hoy, en estas condiciones meteorologicas, no necesita
# la modificacion del huso horario, ya que 2009 nos encuentra con
# crecimiento en la produccion y distribucion energetica."
Rule Arg 2007 only - Dec 30 0:00 1:00 S
Rule Arg 2008 2009 - Mar Sun>=15 0:00 0 -
Rule Arg 2008 only - Oct Sun>=15 0:00 1:00 S
# From Mariano Absatz (2004-05-21):
# Today it was officially published that the Province of Mendoza is changing
# its timezone this winter... starting tomorrow night....
# http://www.gobernac.mendoza.gov.ar/boletin/pdf/20040521-27158-normas.pdf
# From Paul Eggert (2004-05-24):
# It's Law No. 7,210. This change is due to a public power emergency, so for
# now we'll assume it's for this year only.
#
# From Paul Eggert (2006-03-22):
# <a href="http://www.spicasc.net/horvera.html">
# Hora de verano para la Republica Argentina (2003-06-08)
# </a> says that standard time in Argentina from 1894-10-31
# to 1920-05-01 was -4:16:48.25. Go with this more-precise value
# over Shanks & Pottenger.
#
# From Mariano Absatz (2004-06-05):
# These media articles from a major newspaper mostly cover the current state:
# http://www.lanacion.com.ar/04/05/27/de_604825.asp
# http://www.lanacion.com.ar/04/05/28/de_605203.asp
#
# The following eight (8) provinces pulled clocks back to UTC-04:00 at
# midnight Monday May 31st. (that is, the night between 05/31 and 06/01).
# Apparently, all nine provinces would go back to UTC-03:00 at the same
# time in October 17th.
#
# Catamarca, Chubut, La Rioja, San Juan, San Luis, Santa Cruz,
# Tierra del Fuego, Tucuman.
#
# From Mariano Absatz (2004-06-14):
# ... this weekend, the Province of Tucuman decided it'd go back to UTC-03:00
# yesterday midnight (that is, at 24:00 Saturday 12th), since the people's
# annoyance with the change is much higher than the power savings obtained....
#
# From Gwillim Law (2004-06-14):
# http://www.lanacion.com.ar/04/06/10/de_609078.asp ...
# "The time change in Tierra del Fuego was a conflicted decision from
# the start. The government had decreed that the measure would take
# effect on June 1, but a normative error forced the new time to begin
# three days earlier, from a Saturday to a Sunday....
# Our understanding was that the change was originally scheduled to take place
# on June 1 at 00:00 in Chubut, Santa Cruz, Tierra del Fuego (and some other
# provinces). Sunday was May 30, only two days earlier. So the article
# contains a contradiction. I would give more credence to the Saturday/Sunday
# date than the "three days earlier" phrase, and conclude that Tierra del
# Fuego set its clocks back at 2004-05-30 00:00.
#
# From Steffen Thorsen (2004-10-05):
# The previous law 7210 which changed the province of Mendoza's time zone
# back in May have been modified slightly in a new law 7277, which set the
# new end date to 2004-09-26 (original date was 2004-10-17).
# http://www.gobernac.mendoza.gov.ar/boletin/pdf/20040924-27244-normas.pdf
#
# From Mariano Absatz (2004-10-05):
# San Juan changed from UTC-03:00 to UTC-04:00 at midnight between
# Sunday, May 30th and Monday, May 31st. It changed back to UTC-03:00
# at midnight between Saturday, July 24th and Sunday, July 25th....
# http://www.sanjuan.gov.ar/prensa/archivo/000329.html
# http://www.sanjuan.gov.ar/prensa/archivo/000426.html
# http://www.sanjuan.gov.ar/prensa/archivo/000441.html
# From Alex Krivenyshev (2008-01-17):
# Here are articles that Argentina Province San Luis is planning to end DST
# as earlier as upcoming Monday January 21, 2008 or February 2008:
#
# Provincia argentina retrasa reloj y marca diferencia con resto del pais
# (Argentine Province delayed clock and mark difference with the rest of the
# country)
# <a href="http://cl.invertia.com/noticias/noticia.aspx?idNoticia=200801171849_EFE_ET4373&idtel">
# http://cl.invertia.com/noticias/noticia.aspx?idNoticia=200801171849_EFE_ET4373&idtel
# </a>
#
# Es inminente que en San Luis atrasen una hora los relojes
# (It is imminent in San Luis clocks one hour delay)
# <a href="http://www.lagaceta.com.ar/vernotae.asp?id_nota=253414">
# http://www.lagaceta.com.ar/vernotae.asp?id_nota=253414
# </a>
#
# <a href="http://www.worldtimezone.net/dst_news/dst_news_argentina02.html">
# http://www.worldtimezone.net/dst_news/dst_news_argentina02.html
# </a>
# From Jesper Norgaard Welen (2008-01-18):
# The page of the San Luis provincial government
# <a href="http://www.sanluis.gov.ar/notas.asp?idCanal=0&id=22812">
# http://www.sanluis.gov.ar/notas.asp?idCanal=0&id=22812
# </a>
# confirms what Alex Krivenyshev has earlier sent to the tz
# emailing list about that San Luis plans to return to standard
# time much earlier than the rest of the country. It also
# confirms that upon request the provinces San Juan and Mendoza
# refused to follow San Luis in this change.
#
# The change is supposed to take place Monday the 21.st at 0:00
# hours. As far as I understand it if this goes ahead, we need
# a new timezone for San Luis (although there are also documented
# independent changes in the southamerica file of San Luis in
# 1990 and 1991 which has not been confirmed).
# From Jesper Norgaard Welen (2008-01-25):
# Unfortunately the below page has become defunct, about the San Luis
# time change. Perhaps because it now is part of a group of pages "Most
# important pages of 2008."
#
# You can use
# <a href="http://www.sanluis.gov.ar/notas.asp?idCanal=8141&id=22834">
# http://www.sanluis.gov.ar/notas.asp?idCanal=8141&id=22834
# </a>
# instead it seems. Or use "Buscador" from the main page of the San Luis
# government, and fill in "huso" and click OK, and you will get 3 pages
# from which the first one is identical to the above.
# From Mariano Absatz (2008-01-28):
# I can confirm that the Province of San Luis (and so far only that
# province) decided to go back to UTC-3 effective midnight Jan 20th 2008
# (that is, Monday 21st at 0:00 is the time the clocks were delayed back
# 1 hour), and they intend to keep UTC-3 as their timezone all year round
# (that is, unless they change their mind any minute now).
#
# So we'll have to add yet another city to 'southamerica' (I think San
# Luis city is the mos populated city in the Province, so it'd be
# America/Argentina/San_Luis... of course I can't remember if San Luis's
# history of particular changes goes along with Mendoza or San Juan :-(
# (I only remember not being able to collect hard facts about San Luis
# back in 2004, when these provinces changed to UTC-4 for a few days, I
# mailed them personally and never got an answer).
# From Paul Eggert (2008-06-30):
# Unless otherwise specified, data are from Shanks & Pottenger through 1992,
# from the IATA otherwise. As noted below, Shanks & Pottenger say that
# America/Cordoba split into 6 subregions during 1991/1992, one of which
# was America/San_Luis, but we haven't verified this yet so for now we'll
# keep America/Cordoba a single region rather than splitting it into the
# other 5 subregions.
# From Mariano Absatz (2009-03-13):
# Yesterday (with our usual 2-day notice) the Province of San Luis
# decided that next Sunday instead of "staying" @utc-03:00 they will go
# to utc-04:00 until the second Saturday in October...
#
# The press release is at
# <a href="http://www.sanluis.gov.ar/SL/Paginas/NoticiaDetalle.asp?TemaId=1&InfoPrensaId=3102">
# http://www.sanluis.gov.ar/SL/Paginas/NoticiaDetalle.asp?TemaId=1&InfoPrensaId=3102
# </a>
# (I couldn't find the decree, but
# <a href="http://www.sanluis.gov.ar">
# www.sanluis.gov.ar
# <a/>
# is the official page for the Province Government).
#
# There's also a note in only one of the major national papers (La Nación) at
# <a href="http://www.lanacion.com.ar/nota.asp?nota_id=1107912">
# http://www.lanacion.com.ar/nota.asp?nota_id=1107912
# </a>
#
# The press release says:
# (...) anunció que el próximo domingo a las 00:00 los puntanos deberán
# atrasar una hora sus relojes.
#
# A partir de entonces, San Luis establecerá el huso horario propio de
# la Provincia. De esta manera, durante el periodo del calendario anual
# 2009, el cambio horario quedará comprendido entre las 00:00 del tercer
# domingo de marzo y las 24:00 del segundo sábado de octubre.
# Quick&dirty translation
# (...) announced that next Sunday, at 00:00, Puntanos (the San Luis
# inhabitants) will have to turn back one hour their clocks
#
# Since then, San Luis will establish its own Province timezone. Thus,
# during 2009, this timezone change will run from 00:00 the third Sunday
# in March until 24:00 of the second Saturday in October.
# From Mariano Absatz (2009-10-16):
# ...the Province of San Luis is a case in itself.
#
# The Law at
# <a href="http://www.diputadossanluis.gov.ar/diputadosasp/paginas/verNorma.asp?NormaID=276>"
# http://www.diputadossanluis.gov.ar/diputadosasp/paginas/verNorma.asp?NormaID=276
# </a>
# is ambiguous because establishes a calendar from the 2nd Sunday in
# October at 0:00 thru the 2nd Saturday in March at 24:00 and the
# complement of that starting on the 2nd Sunday of March at 0:00 and
# ending on the 2nd Saturday of March at 24:00.
#
# This clearly breaks every time the 1st of March or October is a Sunday.
#
# IMHO, the "spirit of the Law" is to make the changes at 0:00 on the 2nd
# Sunday of October and March.
#
# The problem is that the changes in the rest of the Provinces that did
# change in 2007/2008, were made according to the Federal Law and Decrees
# that did so on the 3rd Sunday of October and March.
#
# In fact, San Luis actually switched from UTC-4 to UTC-3 last Sunday
# (October 11th) at 0:00.
#
# So I guess a new set of rules, besides "Arg", must be made and the last
# America/Argentina/San_Luis entries should change to use these...
#
# I'm enclosing a patch that does what I say... regretfully, the San Luis
# timezone must be called "WART/WARST" even when most of the time (like,
# right now) WARST == ART... that is, since last Sunday, all the country
# is using UTC-3, but in my patch, San Luis calls it "WARST" and the rest
# of the country calls it "ART".
# ...
# From Alexander Krivenyshev (2010-04-09):
# According to news reports from El Diario de la Republica Province San
# Luis, Argentina (standard time UTC-04) will keep Daylight Saving Time
# after April 11, 2010--will continue to have same time as rest of
# Argentina (UTC-3) (no DST).
#
# Confirmaron la pr&oacute;rroga del huso horario de verano (Spanish)
# <a href="http://www.eldiariodelarepublica.com/index.php?option=com_content&task=view&id=29383&Itemid=9">
# http://www.eldiariodelarepublica.com/index.php?option=com_content&task=view&id=29383&Itemid=9
# </a>
# or (some English translation):
# <a href="http://www.worldtimezone.com/dst_news/dst_news_argentina08.html">
# http://www.worldtimezone.com/dst_news/dst_news_argentina08.html
# </a>
# From Mariano Absatz (2010-04-12):
# yes...I can confirm this...and given that San Luis keeps calling
# UTC-03:00 "summer time", we should't just let San Luis go back to "Arg"
# rules...San Luis is still using "Western ARgentina Time" and it got
# stuck on Summer daylight savings time even though the summer is over.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
#
# Buenos Aires (BA), Capital Federal (CF),
Zone America/Argentina/Buenos_Aires -3:53:48 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May # Cordoba Mean Time
-4:00 - ART 1930 Dec
......@@ -35,6 +467,17 @@ Zone America/Argentina/Buenos_Aires -3:53:48 - LMT 1894 Oct 31
-3:00 Arg AR%sT 1999 Oct 3
-4:00 Arg AR%sT 2000 Mar 3
-3:00 Arg AR%sT
#
# Cordoba (CB), Santa Fe (SF), Entre Rios (ER), Corrientes (CN), Misiones (MN),
# Chaco (CC), Formosa (FM), Santiago del Estero (SE)
#
# Shanks & Pottenger also make the following claims, which we haven't verified:
# - Formosa switched to -3:00 on 1991-01-07.
# - Misiones switched to -3:00 on 1990-12-29.
# - Chaco switched to -3:00 on 1991-01-04.
# - Santiago del Estero switched to -4:00 on 1991-04-01,
# then to -3:00 on 1991-04-26.
#
Zone America/Argentina/Cordoba -4:16:48 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May
-4:00 - ART 1930 Dec
......@@ -44,6 +487,8 @@ Zone America/Argentina/Cordoba -4:16:48 - LMT 1894 Oct 31
-3:00 Arg AR%sT 1999 Oct 3
-4:00 Arg AR%sT 2000 Mar 3
-3:00 Arg AR%sT
#
# Salta (SA), La Pampa (LP), Neuquen (NQ), Rio Negro (RN)
Zone America/Argentina/Salta -4:21:40 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May
-4:00 - ART 1930 Dec
......@@ -54,6 +499,8 @@ Zone America/Argentina/Salta -4:21:40 - LMT 1894 Oct 31
-4:00 Arg AR%sT 2000 Mar 3
-3:00 Arg AR%sT 2008 Oct 18
-3:00 - ART
#
# Tucuman (TM)
Zone America/Argentina/Tucuman -4:20:52 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May
-4:00 - ART 1930 Dec
......@@ -65,6 +512,8 @@ Zone America/Argentina/Tucuman -4:20:52 - LMT 1894 Oct 31
-3:00 - ART 2004 Jun 1
-4:00 - WART 2004 Jun 13
-3:00 Arg AR%sT
#
# La Rioja (LR)
Zone America/Argentina/La_Rioja -4:27:24 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May
-4:00 - ART 1930 Dec
......@@ -77,6 +526,8 @@ Zone America/Argentina/La_Rioja -4:27:24 - LMT 1894 Oct 31
-4:00 - WART 2004 Jun 20
-3:00 Arg AR%sT 2008 Oct 18
-3:00 - ART
#
# San Juan (SJ)
Zone America/Argentina/San_Juan -4:34:04 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May
-4:00 - ART 1930 Dec
......@@ -89,6 +540,8 @@ Zone America/Argentina/San_Juan -4:34:04 - LMT 1894 Oct 31
-4:00 - WART 2004 Jul 25
-3:00 Arg AR%sT 2008 Oct 18
-3:00 - ART
#
# Jujuy (JY)
Zone America/Argentina/Jujuy -4:21:12 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May
-4:00 - ART 1930 Dec
......@@ -102,6 +555,8 @@ Zone America/Argentina/Jujuy -4:21:12 - LMT 1894 Oct 31
-4:00 Arg AR%sT 2000 Mar 3
-3:00 Arg AR%sT 2008 Oct 18
-3:00 - ART
#
# Catamarca (CT), Chubut (CH)
Zone America/Argentina/Catamarca -4:23:08 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May
-4:00 - ART 1930 Dec
......@@ -114,6 +569,8 @@ Zone America/Argentina/Catamarca -4:23:08 - LMT 1894 Oct 31
-4:00 - WART 2004 Jun 20
-3:00 Arg AR%sT 2008 Oct 18
-3:00 - ART
#
# Mendoza (MZ)
Zone America/Argentina/Mendoza -4:35:16 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May
-4:00 - ART 1930 Dec
......@@ -130,8 +587,12 @@ Zone America/Argentina/Mendoza -4:35:16 - LMT 1894 Oct 31
-4:00 - WART 2004 Sep 26
-3:00 Arg AR%sT 2008 Oct 18
-3:00 - ART
#
# San Luis (SL)
Rule SanLuis 2008 2009 - Mar Sun>=8 0:00 0 -
Rule SanLuis 2007 2009 - Oct Sun>=8 0:00 1:00 S
Zone America/Argentina/San_Luis -4:25:24 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May
-4:00 - ART 1930 Dec
......@@ -147,6 +608,8 @@ Zone America/Argentina/San_Luis -4:25:24 - LMT 1894 Oct 31
-4:00 - WART 2004 Jul 25
-3:00 Arg AR%sT 2008 Jan 21
-4:00 SanLuis WAR%sT
#
# Santa Cruz (SC)
Zone America/Argentina/Rio_Gallegos -4:36:52 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May # Cordoba Mean Time
-4:00 - ART 1930 Dec
......@@ -157,6 +620,8 @@ Zone America/Argentina/Rio_Gallegos -4:36:52 - LMT 1894 Oct 31
-4:00 - WART 2004 Jun 20
-3:00 Arg AR%sT 2008 Oct 18
-3:00 - ART
#
# Tierra del Fuego, Antartida e Islas del Atlantico Sur (TF)
Zone America/Argentina/Ushuaia -4:33:12 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May # Cordoba Mean Time
-4:00 - ART 1930 Dec
......@@ -167,63 +632,355 @@ Zone America/Argentina/Ushuaia -4:33:12 - LMT 1894 Oct 31
-4:00 - WART 2004 Jun 20
-3:00 Arg AR%sT 2008 Oct 18
-3:00 - ART
# Aruba
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Aruba -4:40:24 - LMT 1912 Feb 12 # Oranjestad
-4:30 - ANT 1965 # Netherlands Antilles Time
-4:00 - AST
# Bolivia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/La_Paz -4:32:36 - LMT 1890
-4:32:36 - CMT 1931 Oct 15 # Calamarca MT
-4:32:36 1:00 BOST 1932 Mar 21 # Bolivia ST
-4:00 - BOT # Bolivia Time
# Brazil
# From Paul Eggert (1993-11-18):
# The mayor of Rio recently attempted to change the time zone rules
# just in his city, in order to leave more summer time for the tourist trade.
# The rule change lasted only part of the day;
# the federal government refused to follow the city's rules, and business
# was in a chaos, so the mayor backed down that afternoon.
# From IATA SSIM (1996-02):
# _Only_ the following states in BR1 observe DST: Rio Grande do Sul (RS),
# Santa Catarina (SC), Parana (PR), Sao Paulo (SP), Rio de Janeiro (RJ),
# Espirito Santo (ES), Minas Gerais (MG), Bahia (BA), Goias (GO),
# Distrito Federal (DF), Tocantins (TO), Sergipe [SE] and Alagoas [AL].
# [The last three states are new to this issue of the IATA SSIM.]
# From Gwillim Law (1996-10-07):
# Geography, history (Tocantins was part of Goias until 1989), and other
# sources of time zone information lead me to believe that AL, SE, and TO were
# always in BR1, and so the only change was whether or not they observed DST....
# The earliest issue of the SSIM I have is 2/91. Each issue from then until
# 9/95 says that DST is observed only in the ten states I quoted from 9/95,
# along with Mato Grosso (MT) and Mato Grosso do Sul (MS), which are in BR2
# (UTC-4).... The other two time zones given for Brazil are BR3, which is
# UTC-5, no DST, and applies only in the state of Acre (AC); and BR4, which is
# UTC-2, and applies to Fernando de Noronha (formerly FN, but I believe it's
# become part of the state of Pernambuco). The boundary between BR1 and BR2
# has never been clearly stated. They've simply been called East and West.
# However, some conclusions can be drawn from another IATA manual: the Airline
# Coding Directory, which lists close to 400 airports in Brazil. For each
# airport it gives a time zone which is coded to the SSIM. From that
# information, I'm led to conclude that the states of Amapa (AP), Ceara (CE),
# Maranhao (MA), Paraiba (PR), Pernambuco (PE), Piaui (PI), and Rio Grande do
# Norte (RN), and the eastern part of Para (PA) are all in BR1 without DST.
# From Marcos Tadeu (1998-09-27):
# <a href="http://pcdsh01.on.br/verao1.html">
# Brazilian official page
# </a>
# From Jesper Norgaard (2000-11-03):
# [For an official list of which regions in Brazil use which time zones, see:]
# http://pcdsh01.on.br/Fusbr.htm
# http://pcdsh01.on.br/Fusbrhv.htm
# From Celso Doria via David Madeo (2002-10-09):
# The reason for the delay this year has to do with elections in Brazil.
#
# Unlike in the United States, elections in Brazil are 100% computerized and
# the results are known almost immediately. Yesterday, it was the first
# round of the elections when 115 million Brazilians voted for President,
# Governor, Senators, Federal Deputies, and State Deputies. Nobody is
# counting (or re-counting) votes anymore and we know there will be a second
# round for the Presidency and also for some Governors. The 2nd round will
# take place on October 27th.
#
# The reason why the DST will only begin November 3rd is that the thousands
# of electoral machines used cannot have their time changed, and since the
# Constitution says the elections must begin at 8:00 AM and end at 5:00 PM,
# the Government decided to postpone DST, instead of changing the Constitution
# (maybe, for the next elections, it will be possible to change the clock)...
# From Rodrigo Severo (2004-10-04):
# It's just the biannual change made necessary by the much hyped, supposedly
# modern Brazilian eletronic voting machines which, apparently, can't deal
# with a time change between the first and the second rounds of the elections.
# From Steffen Thorsen (2007-09-20):
# Brazil will start DST on 2007-10-14 00:00 and end on 2008-02-17 00:00:
# http://www.mme.gov.br/site/news/detail.do;jsessionid=BBA06811AFCAAC28F0285210913513DA?newsId=13975
# From Paul Schulze (2008-06-24):
# ...by law number 11.662 of April 24, 2008 (published in the "Diario
# Oficial da Uniao"...) in Brazil there are changes in the timezones,
# effective today (00:00am at June 24, 2008) as follows:
#
# a) The timezone UTC+5 is e[x]tinguished, with all the Acre state and the
# part of the Amazonas state that had this timezone now being put to the
# timezone UTC+4
# b) The whole Para state now is put at timezone UTC+3, instead of just
# part of it, as was before.
#
# This change follows a proposal of senator Tiao Viana of Acre state, that
# proposed it due to concerns about open television channels displaying
# programs inappropriate to youths in the states that had the timezone
# UTC+5 too early in the night. In the occasion, some more corrections
# were proposed, trying to unify the timezones of any given state. This
# change modifies timezone rules defined in decree 2.784 of 18 June,
# 1913.
# From Rodrigo Severo (2008-06-24):
# Just correcting the URL:
# <a href="https://www.in.gov.br/imprensa/visualiza/index.jsp?jornal=do&secao=1&pagina=1&data=25/04/2008">
# https://www.in.gov.br/imprensa/visualiza/index.jsp?jornal=do&secao=1&pagina=1&data=25/04/2008
# </a>
#
# As a result of the above Decree I believe the America/Rio_Branco
# timezone shall be modified from UTC-5 to UTC-4 and a new timezone shall
# be created to represent the...west side of the Para State. I
# suggest this new timezone be called Santarem as the most
# important/populated city in the affected area.
#
# This new timezone would be the same as the Rio_Branco timezone up to
# the 2008/06/24 change which would be to UTC-3 instead of UTC-4.
# From Alex Krivenyshev (2008-06-24):
# This is a quick reference page for New and Old Brazil Time Zones map.
# <a href="http://www.worldtimezone.com/brazil-time-new-old.php">
# http://www.worldtimezone.com/brazil-time-new-old.php
# </a>
#
# - 4 time zones replaced by 3 time zones-eliminating time zone UTC- 05
# (state Acre and the part of the Amazonas will be UTC/GMT- 04) - western
# part of Par state is moving to one timezone UTC- 03 (from UTC -04).
# From Paul Eggert (2002-10-10):
# The official decrees referenced below are mostly taken from
# <a href="http://pcdsh01.on.br/DecHV.html">
# Decretos sobre o Horario de Verao no Brasil
# </a>.
# From Steffen Thorsen (2008-08-29):
# As announced by the government and many newspapers in Brazil late
# yesterday, Brazil will start DST on 2008-10-19 (need to change rule) and
# it will end on 2009-02-15 (current rule for Brazil is fine). Based on
# past years experience with the elections, there was a good chance that
# the start was postponed to November, but it did not happen this year.
#
# It has not yet been posted to http://pcdsh01.on.br/DecHV.html
#
# An official page about it:
# <a href="http://www.mme.gov.br/site/news/detail.do?newsId=16722">
# http://www.mme.gov.br/site/news/detail.do?newsId=16722
# </a>
# Note that this link does not always work directly, but must be accessed
# by going to
# <a href="http://www.mme.gov.br/first">
# http://www.mme.gov.br/first
# </a>
#
# One example link that works directly:
# <a href="http://jornale.com.br/index.php?option=com_content&task=view&id=13530&Itemid=54">
# http://jornale.com.br/index.php?option=com_content&task=view&id=13530&Itemid=54
# (Portuguese)
# </a>
#
# We have a written a short article about it as well:
# <a href="http://www.timeanddate.com/news/time/brazil-dst-2008-2009.html">
# http://www.timeanddate.com/news/time/brazil-dst-2008-2009.html
# </a>
#
# From Alexander Krivenyshev (2011-10-04):
# State Bahia will return to Daylight savings time this year after 8 years off.
# The announcement was made by Governor Jaques Wagner in an interview to a
# television station in Salvador.
# In Portuguese:
# <a href="http://g1.globo.com/bahia/noticia/2011/10/governador-jaques-wagner-confirma-horario-de-verao-na-bahia.html">
# http://g1.globo.com/bahia/noticia/2011/10/governador-jaques-wagner-confirma-horario-de-verao-na-bahia.html
# </a> and
# <a href="http://noticias.terra.com.br/brasil/noticias/0,,OI5390887-EI8139,00-Bahia+volta+a+ter+horario+de+verao+apos+oito+anos.html">
# http://noticias.terra.com.br/brasil/noticias/0,,OI5390887-EI8139,00-Bahia+volta+a+ter+horario+de+verao+apos+oito+anos.html
# </a>
# From Guilherme Bernardes Rodrigues (2011-10-07):
# There is news in the media, however there is still no decree about it.
# I just send a e-mail to Zulmira Brandão at
# <a href="http://pcdsh01.on.br/">http://pcdsh01.on.br/</a> the
# oficial agency about time in Brazil, and she confirmed that the old rule is
# still in force.
# From Guilherme Bernardes Rodrigues (2011-10-14)
# It's official, the President signed a decree that includes Bahia in summer
# time.
# [ and in a second message (same day): ]
# I found the decree.
#
# DECRETO No- 7.584, DE 13 DE OUTUBRO DE 2011
# Link :
# <a href="http://www.in.gov.br/visualiza/index.jsp?data=13/10/2011&jornal=1000&pagina=6&totalArquivos=6">
# http://www.in.gov.br/visualiza/index.jsp?data=13/10/2011&jornal=1000&pagina=6&totalArquivos=6
# </a>
# From Kelley Cook (2012-10-16):
# The governor of state of Bahia in Brazil announced on Thursday that
# due to public pressure, he is reversing the DST policy they implemented
# last year and will not be going to Summer Time on October 21st....
# http://www.correio24horas.com.br/r/artigo/apos-pressoes-wagner-suspende-horario-de-verao-na-bahia
# From Rodrigo Severo (2012-10-16):
# Tocantins state will have DST.
# http://noticias.terra.com.br/brasil/noticias/0,,OI6232536-EI306.html
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
# Decree <a href="http://pcdsh01.on.br/HV20466.htm">20,466</a> (1931-10-01)
# Decree <a href="http://pcdsh01.on.br/HV21896.htm">21,896</a> (1932-01-10)
Rule Brazil 1931 only - Oct 3 11:00 1:00 S
Rule Brazil 1932 1933 - Apr 1 0:00 0 -
Rule Brazil 1932 only - Oct 3 0:00 1:00 S
# Decree <a href="http://pcdsh01.on.br/HV23195.htm">23,195</a> (1933-10-10)
# revoked DST.
# Decree <a href="http://pcdsh01.on.br/HV27496.htm">27,496</a> (1949-11-24)
# Decree <a href="http://pcdsh01.on.br/HV27998.htm">27,998</a> (1950-04-13)
Rule Brazil 1949 1952 - Dec 1 0:00 1:00 S
Rule Brazil 1950 only - Apr 16 1:00 0 -
Rule Brazil 1951 1952 - Apr 1 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/HV32308.htm">32,308</a> (1953-02-24)
Rule Brazil 1953 only - Mar 1 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/HV34724.htm">34,724</a> (1953-11-30)
# revoked DST.
# Decree <a href="http://pcdsh01.on.br/HV52700.htm">52,700</a> (1963-10-18)
# established DST from 1963-10-23 00:00 to 1964-02-29 00:00
# in SP, RJ, GB, MG, ES, due to the prolongation of the drought.
# Decree <a href="http://pcdsh01.on.br/HV53071.htm">53,071</a> (1963-12-03)
# extended the above decree to all of the national territory on 12-09.
Rule Brazil 1963 only - Dec 9 0:00 1:00 S
# Decree <a href="http://pcdsh01.on.br/HV53604.htm">53,604</a> (1964-02-25)
# extended summer time by one day to 1964-03-01 00:00 (start of school).
Rule Brazil 1964 only - Mar 1 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/HV55639.htm">55,639</a> (1965-01-27)
Rule Brazil 1965 only - Jan 31 0:00 1:00 S
Rule Brazil 1965 only - Mar 31 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/HV57303.htm">57,303</a> (1965-11-22)
Rule Brazil 1965 only - Dec 1 0:00 1:00 S
# Decree <a href="http://pcdsh01.on.br/HV57843.htm">57,843</a> (1966-02-18)
Rule Brazil 1966 1968 - Mar 1 0:00 0 -
Rule Brazil 1966 1967 - Nov 1 0:00 1:00 S
# Decree <a href="http://pcdsh01.on.br/HV63429.htm">63,429</a> (1968-10-15)
# revoked DST.
# Decree <a href="http://pcdsh01.on.br/HV91698.htm">91,698</a> (1985-09-27)
Rule Brazil 1985 only - Nov 2 0:00 1:00 S
# Decree 92,310 (1986-01-21)
# Decree 92,463 (1986-03-13)
Rule Brazil 1986 only - Mar 15 0:00 0 -
# Decree 93,316 (1986-10-01)
Rule Brazil 1986 only - Oct 25 0:00 1:00 S
Rule Brazil 1987 only - Feb 14 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/HV94922.htm">94,922</a> (1987-09-22)
Rule Brazil 1987 only - Oct 25 0:00 1:00 S
Rule Brazil 1988 only - Feb 7 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/HV96676.htm">96,676</a> (1988-09-12)
# except for the states of AC, AM, PA, RR, RO, and AP (then a territory)
Rule Brazil 1988 only - Oct 16 0:00 1:00 S
Rule Brazil 1989 only - Jan 29 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/HV98077.htm">98,077</a> (1989-08-21)
# with the same exceptions
Rule Brazil 1989 only - Oct 15 0:00 1:00 S
Rule Brazil 1990 only - Feb 11 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/HV99530.htm">99,530</a> (1990-09-17)
# adopted by RS, SC, PR, SP, RJ, ES, MG, GO, MS, DF.
# Decree 99,629 (1990-10-19) adds BA, MT.
Rule Brazil 1990 only - Oct 21 0:00 1:00 S
Rule Brazil 1991 only - Feb 17 0:00 0 -
# <a href="http://pcdsh01.on.br/HV1991.htm">Unnumbered decree</a> (1991-09-25)
# adopted by RS, SC, PR, SP, RJ, ES, MG, BA, GO, MT, MS, DF.
Rule Brazil 1991 only - Oct 20 0:00 1:00 S
Rule Brazil 1992 only - Feb 9 0:00 0 -
# <a href="http://pcdsh01.on.br/HV1992.htm">Unnumbered decree</a> (1992-10-16)
# adopted by same states.
Rule Brazil 1992 only - Oct 25 0:00 1:00 S
Rule Brazil 1993 only - Jan 31 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/HV942.htm">942</a> (1993-09-28)
# adopted by same states, plus AM.
# Decree <a href="http://pcdsh01.on.br/HV1252.htm">1,252</a> (1994-09-22;
# web page corrected 2004-01-07) adopted by same states, minus AM.
# Decree <a href="http://pcdsh01.on.br/HV1636.htm">1,636</a> (1995-09-14)
# adopted by same states, plus MT and TO.
# Decree <a href="http://pcdsh01.on.br/HV1674.htm">1,674</a> (1995-10-13)
# adds AL, SE.
Rule Brazil 1993 1995 - Oct Sun>=11 0:00 1:00 S
Rule Brazil 1994 1995 - Feb Sun>=15 0:00 0 -
Rule Brazil 1996 only - Feb 11 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/HV2000.htm">2,000</a> (1996-09-04)
# adopted by same states, minus AL, SE.
Rule Brazil 1996 only - Oct 6 0:00 1:00 S
Rule Brazil 1997 only - Feb 16 0:00 0 -
# From Daniel C. Sobral (1998-02-12):
# In 1997, the DS began on October 6. The stated reason was that
# because international television networks ignored Brazil's policy on DS,
# they bought the wrong times on satellite for coverage of Pope's visit.
# This year, the ending date of DS was postponed to March 1
# to help dealing with the shortages of electric power.
#
# Decree 2,317 (1997-09-04), adopted by same states.
Rule Brazil 1997 only - Oct 6 0:00 1:00 S
# Decree <a href="http://pcdsh01.on.br/figuras/HV2495.JPG">2,495</a>
# (1998-02-10)
Rule Brazil 1998 only - Mar 1 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/figuras/Hv98.jpg">2,780</a> (1998-09-11)
# adopted by the same states as before.
Rule Brazil 1998 only - Oct 11 0:00 1:00 S
Rule Brazil 1999 only - Feb 21 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/figuras/HV3150.gif">3,150</a>
# (1999-08-23) adopted by same states.
# Decree <a href="http://pcdsh01.on.br/DecHV99.gif">3,188</a> (1999-09-30)
# adds SE, AL, PB, PE, RN, CE, PI, MA and RR.
Rule Brazil 1999 only - Oct 3 0:00 1:00 S
Rule Brazil 2000 only - Feb 27 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/DEC3592.htm">3,592</a> (2000-09-06)
# adopted by the same states as before.
# Decree <a href="http://pcdsh01.on.br/Dec3630.jpg">3,630</a> (2000-10-13)
# repeals DST in PE and RR, effective 2000-10-15 00:00.
# Decree <a href="http://pcdsh01.on.br/Dec3632.jpg">3,632</a> (2000-10-17)
# repeals DST in SE, AL, PB, RN, CE, PI and MA, effective 2000-10-22 00:00.
# Decree <a href="http://pcdsh01.on.br/figuras/HV3916.gif">3,916</a>
# (2001-09-13) reestablishes DST in AL, CE, MA, PB, PE, PI, RN, SE.
Rule Brazil 2000 2001 - Oct Sun>=8 0:00 1:00 S
Rule Brazil 2001 2006 - Feb Sun>=15 0:00 0 -
# Decree 4,399 (2002-10-01) repeals DST in AL, CE, MA, PB, PE, PI, RN, SE.
# <a href="http://www.presidencia.gov.br/CCIVIL/decreto/2002/D4399.htm">4,399</a>
Rule Brazil 2002 only - Nov 3 0:00 1:00 S
# Decree 4,844 (2003-09-24; corrected 2003-09-26) repeals DST in BA, MT, TO.
# <a href="http://www.presidencia.gov.br/CCIVIL/decreto/2003/D4844.htm">4,844</a>
Rule Brazil 2003 only - Oct 19 0:00 1:00 S
# Decree 5,223 (2004-10-01) reestablishes DST in MT.
# <a href="http://www.planalto.gov.br/ccivil_03/_Ato2004-2006/2004/Decreto/D5223.htm">5,223</a>
Rule Brazil 2004 only - Nov 2 0:00 1:00 S
# Decree <a href="http://pcdsh01.on.br/DecHV5539.gif">5,539</a> (2005-09-19),
# adopted by the same states as before.
Rule Brazil 2005 only - Oct 16 0:00 1:00 S
# Decree <a href="http://pcdsh01.on.br/DecHV5920.gif">5,920</a> (2006-10-03),
# adopted by the same states as before.
Rule Brazil 2006 only - Nov 5 0:00 1:00 S
Rule Brazil 2007 only - Feb 25 0:00 0 -
# Decree <a href="http://pcdsh01.on.br/DecHV6212.gif">6,212</a> (2007-09-26),
# adopted by the same states as before.
Rule Brazil 2007 only - Oct Sun>=8 0:00 1:00 S
# From Frederico A. C. Neves (2008-09-10):
# Acording to this decree
# <a href="http://www.planalto.gov.br/ccivil_03/_Ato2007-2010/2008/Decreto/D6558.htm">
# http://www.planalto.gov.br/ccivil_03/_Ato2007-2010/2008/Decreto/D6558.htm
# </a>
# [t]he DST period in Brazil now on will be from the 3rd Oct Sunday to the
# 3rd Feb Sunday. There is an exception on the return date when this is
# the Carnival Sunday then the return date will be the next Sunday...
Rule Brazil 2008 max - Oct Sun>=15 0:00 1:00 S
Rule Brazil 2008 2011 - Feb Sun>=15 0:00 0 -
Rule Brazil 2012 only - Feb Sun>=22 0:00 0 -
......@@ -237,7 +994,16 @@ Rule Brazil 2027 2033 - Feb Sun>=15 0:00 0 -
Rule Brazil 2034 only - Feb Sun>=22 0:00 0 -
Rule Brazil 2035 2036 - Feb Sun>=15 0:00 0 -
Rule Brazil 2037 only - Feb Sun>=22 0:00 0 -
# From Arthur David Olson (2008-09-29):
# The next is wrong in some years but is better than nothing.
Rule Brazil 2038 max - Feb Sun>=15 0:00 0 -
# The latest ruleset listed above says that the following states observe DST:
# DF, ES, GO, MG, MS, MT, PR, RJ, RS, SC, SP.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
#
# Fernando de Noronha (administratively part of PE)
Zone America/Noronha -2:09:40 - LMT 1914
-2:00 Brazil FN%sT 1990 Sep 17
-2:00 - FNT 1999 Sep 30
......@@ -245,13 +1011,30 @@ Zone America/Noronha -2:09:40 - LMT 1914
-2:00 - FNT 2001 Sep 13
-2:00 Brazil FN%sT 2002 Oct 1
-2:00 - FNT
# Other Atlantic islands have no permanent settlement.
# These include Trindade and Martin Vaz (administratively part of ES),
# Atol das Rocas (RN), and Penedos de Sao Pedro e Sao Paulo (PE).
# Fernando de Noronha was a separate territory from 1942-09-02 to 1989-01-01;
# it also included the Penedos.
#
# Amapa (AP), east Para (PA)
# East Para includes Belem, Maraba, Serra Norte, and Sao Felix do Xingu.
# The division between east and west Para is the river Xingu.
# In the north a very small part from the river Javary (now Jari I guess,
# the border with Amapa) to the Amazon, then to the Xingu.
Zone America/Belem -3:13:56 - LMT 1914
-3:00 Brazil BR%sT 1988 Sep 12
-3:00 - BRT
#
# west Para (PA)
# West Para includes Altamira, Oribidos, Prainha, Oriximina, and Santarem.
Zone America/Santarem -3:38:48 - LMT 1914
-4:00 Brazil AM%sT 1988 Sep 12
-4:00 - AMT 2008 Jun 24 00:00
-3:00 - BRT
#
# Maranhao (MA), Piaui (PI), Ceara (CE), Rio Grande do Norte (RN),
# Paraiba (PB)
Zone America/Fortaleza -2:34:00 - LMT 1914
-3:00 Brazil BR%sT 1990 Sep 17
-3:00 - BRT 1999 Sep 30
......@@ -259,6 +1042,8 @@ Zone America/Fortaleza -2:34:00 - LMT 1914
-3:00 - BRT 2001 Sep 13
-3:00 Brazil BR%sT 2002 Oct 1
-3:00 - BRT
#
# Pernambuco (PE) (except Atlantic islands)
Zone America/Recife -2:19:36 - LMT 1914
-3:00 Brazil BR%sT 1990 Sep 17
-3:00 - BRT 1999 Sep 30
......@@ -266,11 +1051,16 @@ Zone America/Recife -2:19:36 - LMT 1914
-3:00 - BRT 2001 Sep 13
-3:00 Brazil BR%sT 2002 Oct 1
-3:00 - BRT
#
# Tocantins (TO)
Zone America/Araguaina -3:12:48 - LMT 1914
-3:00 Brazil BR%sT 1990 Sep 17
-3:00 - BRT 1995 Sep 14
-3:00 Brazil BR%sT 2003 Sep 24
-3:00 - BRT
-3:00 - BRT 2012 Oct 21
-3:00 Brazil BR%sT
#
# Alagoas (AL), Sergipe (SE)
Zone America/Maceio -2:22:52 - LMT 1914
-3:00 Brazil BR%sT 1990 Sep 17
-3:00 - BRT 1995 Oct 13
......@@ -280,42 +1070,187 @@ Zone America/Maceio -2:22:52 - LMT 1914
-3:00 - BRT 2001 Sep 13
-3:00 Brazil BR%sT 2002 Oct 1
-3:00 - BRT
#
# Bahia (BA)
# There are too many Salvadors elsewhere, so use America/Bahia instead
# of America/Salvador.
Zone America/Bahia -2:34:04 - LMT 1914
-3:00 Brazil BR%sT 2003 Sep 24
-3:00 - BRT 2011 Oct 16
-3:00 Brazil BR%sT 2012 Oct 21
-3:00 - BRT
#
# Goias (GO), Distrito Federal (DF), Minas Gerais (MG),
# Espirito Santo (ES), Rio de Janeiro (RJ), Sao Paulo (SP), Parana (PR),
# Santa Catarina (SC), Rio Grande do Sul (RS)
Zone America/Sao_Paulo -3:06:28 - LMT 1914
-3:00 Brazil BR%sT 1963 Oct 23 00:00
-3:00 1:00 BRST 1964
-3:00 Brazil BR%sT
#
# Mato Grosso do Sul (MS)
Zone America/Campo_Grande -3:38:28 - LMT 1914
-4:00 Brazil AM%sT
#
# Mato Grosso (MT)
Zone America/Cuiaba -3:44:20 - LMT 1914
-4:00 Brazil AM%sT 2003 Sep 24
-4:00 - AMT 2004 Oct 1
-4:00 Brazil AM%sT
#
# Rondonia (RO)
Zone America/Porto_Velho -4:15:36 - LMT 1914
-4:00 Brazil AM%sT 1988 Sep 12
-4:00 - AMT
#
# Roraima (RR)
Zone America/Boa_Vista -4:02:40 - LMT 1914
-4:00 Brazil AM%sT 1988 Sep 12
-4:00 - AMT 1999 Sep 30
-4:00 Brazil AM%sT 2000 Oct 15
-4:00 - AMT
#
# east Amazonas (AM): Boca do Acre, Jutai, Manaus, Floriano Peixoto
# The great circle line from Tabatinga to Porto Acre divides
# east from west Amazonas.
Zone America/Manaus -4:00:04 - LMT 1914
-4:00 Brazil AM%sT 1988 Sep 12
-4:00 - AMT 1993 Sep 28
-4:00 Brazil AM%sT 1994 Sep 22
-4:00 - AMT
#
# west Amazonas (AM): Atalaia do Norte, Boca do Maoco, Benjamin Constant,
# Eirunepe, Envira, Ipixuna
Zone America/Eirunepe -4:39:28 - LMT 1914
-5:00 Brazil AC%sT 1988 Sep 12
-5:00 - ACT 1993 Sep 28
-5:00 Brazil AC%sT 1994 Sep 22
-5:00 - ACT 2008 Jun 24 00:00
-4:00 - AMT
#
# Acre (AC)
Zone America/Rio_Branco -4:31:12 - LMT 1914
-5:00 Brazil AC%sT 1988 Sep 12
-5:00 - ACT 2008 Jun 24 00:00
-4:00 - AMT
# Chile
# From Eduardo Krell (1995-10-19):
# The law says to switch to DST at midnight [24:00] on the second SATURDAY
# of October.... The law is the same for March and October.
# (1998-09-29):
# Because of the drought this year, the government decided to go into
# DST earlier (saturday 9/26 at 24:00). This is a one-time change only ...
# (unless there's another dry season next year, I guess).
# From Julio I. Pacheco Troncoso (1999-03-18):
# Because of the same drought, the government decided to end DST later,
# on April 3, (one-time change).
# From Oscar van Vlijmen (2006-10-08):
# http://www.horaoficial.cl/cambio.htm
# From Jesper Norgaard Welen (2006-10-08):
# I think that there are some obvious mistakes in the suggested link
# from Oscar van Vlijmen,... for instance entry 66 says that GMT-4
# ended 1990-09-12 while entry 67 only begins GMT-3 at 1990-09-15
# (they should have been 1990-09-15 and 1990-09-16 respectively), but
# anyhow it clears up some doubts too.
# From Paul Eggert (2006-12-27):
# The following data for Chile and America/Santiago are from
# <http://www.horaoficial.cl/horaof.htm> (2006-09-20), transcribed by
# Jesper Norgaard Welen. The data for Pacific/Easter are from Shanks
# & Pottenger, except with DST transitions after 1932 cloned from
# America/Santiago. The pre-1980 Pacific/Easter data are dubious,
# but we have no other source.
# From German Poo-Caaman~o (2008-03-03):
# Due to drought, Chile extends Daylight Time in three weeks. This
# is one-time change (Saturday 3/29 at 24:00 for America/Santiago
# and Saturday 3/29 at 22:00 for Pacific/Easter)
# The Supreme Decree is located at
# <a href="http://www.shoa.cl/servicios/supremo316.pdf">
# http://www.shoa.cl/servicios/supremo316.pdf
# </a>
# and the instructions for 2008 are located in:
# <a href="http://www.horaoficial.cl/cambio.htm">
# http://www.horaoficial.cl/cambio.htm
# </a>.
# From Jose Miguel Garrido (2008-03-05):
# ...
# You could see the announces of the change on
# <a href="http://www.shoa.cl/noticias/2008/04hora/hora.htm">
# http://www.shoa.cl/noticias/2008/04hora/hora.htm
# </a>.
# From Angel Chiang (2010-03-04):
# Subject: DST in Chile exceptionally extended to 3 April due to earthquake
# <a href="http://www.gobiernodechile.cl/viewNoticia.aspx?idArticulo=30098">
# http://www.gobiernodechile.cl/viewNoticia.aspx?idArticulo=30098
# </a>
# (in Spanish, last paragraph).
#
# This is breaking news. There should be more information available later.
# From Arthur Daivd Olson (2010-03-06):
# Angel Chiang's message confirmed by Julio Pacheco; Julio provided a patch.
# From Glenn Eychaner (2011-03-02): [geychaner@mac.com]
# It appears that the Chilean government has decided to postpone the
# change from summer time to winter time again, by three weeks to April
# 2nd:
# <a href="http://www.emol.com/noticias/nacional/detalle/detallenoticias.asp?idnoticia=467651">
# http://www.emol.com/noticias/nacional/detalle/detallenoticias.asp?idnoticia=467651
# </a>
#
# This is not yet reflected in the offical "cambio de hora" site, but
# probably will be soon:
# <a href="http://www.horaoficial.cl/cambio.htm">
# http://www.horaoficial.cl/cambio.htm
# </a>
# From Arthur David Olson (2011-03-02):
# The emol.com article mentions a water shortage as the cause of the
# postponement, which may mean that it's not a permanent change.
# From Glenn Eychaner (2011-03-28):
# The article:
# <a href="http://diario.elmercurio.com/2011/03/28/_portada/_portada/noticias/7565897A-CA86-49E6-9E03-660B21A4883E.htm?id=3D{7565897A-CA86-49E6-9E03-660B21A4883E}">
# http://diario.elmercurio.com/2011/03/28/_portada/_portada/noticias/7565897A-CA86-49E6-9E03-660B21A4883E.htm?id=3D{7565897A-CA86-49E6-9E03-660B21A4883E}
# </a>
#
# In English:
# Chile's clocks will go back an hour this year on the 7th of May instead
# of this Saturday. They will go forward again the 3rd Saturday in
# August, not in October as they have since 1968. This is a pilot plan
# which will be reevaluated in 2012.
# From Mauricio Parada (2012-02-22), translated by Glenn Eychaner (2012-02-23):
# As stated in the website of the Chilean Energy Ministry
# http://www.minenergia.cl/ministerio/noticias/generales/gobierno-anuncia-fechas-de-cambio-de.html
# The Chilean Government has decided to postpone the entrance into winter time
# (to leave DST) from March 11 2012 to April 28th 2012. The decision has not
# been yet formalized but it will within the next days.
# Quote from the website communication:
#
# 6. For the year 2012, the dates of entry into winter time will be as follows:
# a. Saturday April 28, 2012, clocks should go back 60 minutes; that is, at
# 23:59:59, instead of passing to 0:00, the time should be adjusted to be 23:00
# of the same day.
# b. Saturday, September 1, 2012, clocks should go forward 60 minutes; that is,
# at 23:59:59, instead of passing to 0:00, the time should be adjusted to be
# 01:00 on September 2.
#
# Note that...this is yet another "temporary" change that will be reevaluated
# AGAIN in 2013.
# NOTE: ChileAQ rules for Antarctic bases are stored separately in the
# 'antarctica' file.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Chile 1927 1932 - Sep 1 0:00 1:00 S
Rule Chile 1928 1932 - Apr 1 0:00 0 -
Rule Chile 1942 only - Jun 1 4:00u 0 -
......@@ -344,12 +1279,22 @@ Rule Chile 1997 only - Mar 30 3:00u 0 -
Rule Chile 1998 only - Mar Sun>=9 3:00u 0 -
Rule Chile 1998 only - Sep 27 4:00u 1:00 S
Rule Chile 1999 only - Apr 4 3:00u 0 -
Rule Chile 1999 max - Oct Sun>=9 4:00u 1:00 S
Rule Chile 1999 2010 - Oct Sun>=9 4:00u 1:00 S
Rule Chile 2000 2007 - Mar Sun>=9 3:00u 0 -
# N.B.: the end of March 29 in Chile is March 30 in Universal time,
# which is used below in specifying the transition.
Rule Chile 2008 only - Mar 30 3:00u 0 -
Rule Chile 2009 only - Mar Sun>=9 3:00u 0 -
Rule Chile 2010 2011 - Apr Sun>=1 3:00u 0 -
Rule Chile 2012 max - Mar Sun>=9 3:00u 0 -
Rule Chile 2010 only - Apr Sun>=1 3:00u 0 -
Rule Chile 2011 only - May Sun>=2 3:00u 0 -
Rule Chile 2011 only - Aug Sun>=16 4:00u 1:00 S
Rule Chile 2012 only - Apr Sun>=23 3:00u 0 -
Rule Chile 2012 only - Sep Sun>=2 4:00u 1:00 S
Rule Chile 2013 max - Mar Sun>=9 3:00u 0 -
Rule Chile 2013 max - Oct Sun>=9 4:00u 1:00 S
# IATA SSIM anomalies: (1992-02) says 1992-03-14;
# (1996-09) says 1998-03-08. Ignore these.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Santiago -4:42:46 - LMT 1890
-4:42:46 - SMT 1910 # Santiago Mean Time
-5:00 - CLT 1916 Jul 1 # Chile Time
......@@ -362,20 +1307,152 @@ Zone Pacific/Easter -7:17:44 - LMT 1890
-7:17:28 - EMT 1932 Sep # Easter Mean Time
-7:00 Chile EAS%sT 1982 Mar 13 21:00 # Easter I Time
-6:00 Chile EAS%sT
#
# Sala y Gomez Island is like Pacific/Easter.
# Other Chilean locations, including Juan Fernandez Is, San Ambrosio,
# San Felix, and Antarctic bases, are like America/Santiago.
# Colombia
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule CO 1992 only - May 3 0:00 1:00 S
Rule CO 1993 only - Apr 4 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Bogota -4:56:20 - LMT 1884 Mar 13
-4:56:20 - BMT 1914 Nov 23 # Bogota Mean Time
-5:00 CO CO%sT # Colombia Time
# Malpelo, Providencia, San Andres
# no information; probably like America/Bogota
# Curacao
#
# From Paul Eggert (2006-03-22):
# Shanks & Pottenger say that The Bottom and Philipsburg have been at
# -4:00 since standard time was introduced on 1912-03-02; and that
# Kralendijk and Rincon used Kralendijk Mean Time (-4:33:08) from
# 1912-02-02 to 1965-01-01. The former is dubious, since S&P also say
# Saba Island has been like Curacao.
# This all predates our 1970 cutoff, though.
#
# By July 2007 Curacao and St Maarten are planned to become
# associated states within the Netherlands, much like Aruba;
# Bonaire, Saba and St Eustatius would become directly part of the
# Netherlands as Kingdom Islands. This won't affect their time zones
# though, as far as we know.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Curacao -4:35:44 - LMT 1912 Feb 12 # Willemstad
-4:30 - ANT 1965 # Netherlands Antilles Time
-4:00 - AST
# From Arthur David Olson (2011-06-15):
# At least for now, use links for places with new iso3166 codes.
# The name "Lower Prince's Quarter" is both longer than fourteen charaters
# and contains an apostrophe; use "Lower_Princes" below.
Link America/Curacao America/Lower_Princes # Sint Maarten
Link America/Curacao America/Kralendijk # Bonaire, Sint Estatius and Saba
# Ecuador
#
# From Paul Eggert (2007-03-04):
# Apparently Ecuador had a failed experiment with DST in 1992.
# <http://midena.gov.ec/content/view/1261/208/> (2007-02-27) and
# <http://www.hoy.com.ec/NoticiaNue.asp?row_id=249856> (2006-11-06) both
# talk about "hora Sixto". Leave this alone for now, as we have no data.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Guayaquil -5:19:20 - LMT 1890
-5:14:00 - QMT 1931 # Quito Mean Time
-5:00 - ECT # Ecuador Time
Zone Pacific/Galapagos -5:58:24 - LMT 1931 # Puerto Baquerizo Moreno
-5:00 - ECT 1986
-6:00 - GALT # Galapagos Time
# Falklands
# From Paul Eggert (2006-03-22):
# Between 1990 and 2000 inclusive, Shanks & Pottenger and the IATA agree except
# the IATA gives 1996-09-08. Go with Shanks & Pottenger.
# From Falkland Islands Government Office, London (2001-01-22)
# via Jesper Norgaard:
# ... the clocks revert back to Local Mean Time at 2 am on Sunday 15
# April 2001 and advance one hour to summer time at 2 am on Sunday 2
# September. It is anticipated that the clocks will revert back at 2
# am on Sunday 21 April 2002 and advance to summer time at 2 am on
# Sunday 1 September.
# From Rives McDow (2001-02-13):
#
# I have communicated several times with people there, and the last
# time I had communications that was helpful was in 1998. Here is
# what was said then:
#
# "The general rule was that Stanley used daylight saving and the Camp
# did not. However for various reasons many people in the Camp have
# started to use daylight saving (known locally as 'Stanley Time')
# There is no rule as to who uses daylight saving - it is a matter of
# personal choice and so it is impossible to draw a map showing who
# uses it and who does not. Any list would be out of date as soon as
# it was produced. This year daylight saving ended on April 18/19th
# and started again on September 12/13th. I do not know what the rule
# is, but can find out if you like. We do not change at the same time
# as UK or Chile."
#
# I did have in my notes that the rule was "Second Saturday in Sep at
# 0:00 until third Saturday in Apr at 0:00". I think that this does
# not agree in some cases with Shanks; is this true?
#
# Also, there is no mention in the list that some areas in the
# Falklands do not use DST. I have found in my communications there
# that these areas are on the western half of East Falkland and all of
# West Falkland. Stanley is the only place that consistently observes
# DST. Again, as in other places in the world, the farmers don't like
# it. West Falkland is almost entirely sheep farmers.
#
# I know one lady there that keeps a list of which farm keeps DST and
# which doesn't each year. She runs a shop in Stanley, and says that
# the list changes each year. She uses it to communicate to her
# customers, catching them when they are home for lunch or dinner.
# From Paul Eggert (2001-03-05):
# For now, we'll just record the time in Stanley, since we have no
# better info.
# From Steffen Thorsen (2011-04-01):
# The Falkland Islands will not turn back clocks this winter, but stay on
# daylight saving time.
#
# One source:
# <a href="http://www.falklandnews.com/public/story.cfm?get=5914&source=3">
# http://www.falklandnews.com/public/story.cfm?get=5914&source=3
# </a>
#
# We have gotten this confirmed by a clerk of the legislative assembly:
# Normally the clocks revert to Local Mean Time (UTC/GMT -4 hours) on the
# third Sunday of April at 0200hrs and advance to Summer Time (UTC/GMT -3
# hours) on the first Sunday of September at 0200hrs.
#
# IMPORTANT NOTE: During 2011, on a trial basis, the Falkland Islands
# will not revert to local mean time, but clocks will remain on Summer
# time (UTC/GMT - 3 hours) throughout the whole of 2011. Any long term
# change to local time following the trial period will be notified.
#
# From Andrew Newman (2012-02-24)
# A letter from Justin McPhee, Chief Executive,
# Cable & Wireless Falkland Islands (dated 2012-02-22)
# states...
# The current Atlantic/Stanley entry under South America expects the
# clocks to go back to standard Falklands Time (FKT) on the 15th April.
# The database entry states that in 2011 Stanley was staying on fixed
# summer time on a trial basis only. FIG need to contact IANA and/or
# the maintainers of the database to inform them we're adopting
# the same policy this year and suggest recommendations for future years.
#
# For now we will assume permanent summer time for the Falklands
# until advised differently (to apply for 2012 and beyond, after the 2011
# experiment was apparently successful.)
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Falk 1937 1938 - Sep lastSun 0:00 1:00 S
Rule Falk 1938 1942 - Mar Sun>=19 0:00 0 -
Rule Falk 1939 only - Oct 1 0:00 1:00 S
......@@ -386,21 +1463,37 @@ Rule Falk 1984 1985 - Apr lastSun 0:00 0 -
Rule Falk 1984 only - Sep 16 0:00 1:00 S
Rule Falk 1985 2000 - Sep Sun>=9 0:00 1:00 S
Rule Falk 1986 2000 - Apr Sun>=16 0:00 0 -
Rule Falk 2001 max - Apr Sun>=15 2:00 0 -
Rule Falk 2001 max - Sep Sun>=1 2:00 1:00 S
Rule Falk 2001 2010 - Apr Sun>=15 2:00 0 -
Rule Falk 2001 2010 - Sep Sun>=1 2:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Atlantic/Stanley -3:51:24 - LMT 1890
-3:51:24 - SMT 1912 Mar 12 # Stanley Mean Time
-4:00 Falk FK%sT 1983 May # Falkland Is Time
-3:00 Falk FK%sT 1985 Sep 15
-4:00 Falk FK%sT
-4:00 Falk FK%sT 2010 Sep 5 02:00
-3:00 - FKST
# French Guiana
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Cayenne -3:29:20 - LMT 1911 Jul
-4:00 - GFT 1967 Oct # French Guiana Time
-3:00 - GFT
# Guyana
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Guyana -3:52:40 - LMT 1915 Mar # Georgetown
-3:45 - GBGT 1966 May 26 # Br Guiana Time
-3:45 - GYT 1975 Jul 31 # Guyana Time
-3:00 - GYT 1991
# IATA SSIM (1996-06) says -4:00. Assume a 1991 switch.
-4:00 - GYT
# Paraguay
# From Paul Eggert (2006-03-22):
# Shanks & Pottenger say that spring transitions are from 01:00 -> 02:00,
# and autumn transitions are from 00:00 -> 23:00. Go with pre-1999
# editions of Shanks, and with the IATA, who say transitions occur at 00:00.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Para 1975 1988 - Oct 1 0:00 1:00 S
Rule Para 1975 1978 - Mar 1 0:00 0 -
Rule Para 1979 1991 - Apr 1 0:00 0 -
......@@ -413,20 +1506,79 @@ Rule Para 1993 only - Mar 31 0:00 0 -
Rule Para 1993 1995 - Oct 1 0:00 1:00 S
Rule Para 1994 1995 - Feb lastSun 0:00 0 -
Rule Para 1996 only - Mar 1 0:00 0 -
# IATA SSIM (2000-02) says 1999-10-10; ignore this for now.
# From Steffen Thorsen (2000-10-02):
# I have three independent reports that Paraguay changed to DST this Sunday
# (10-01).
#
# Translated by Gwillim Law (2001-02-27) from
# <a href="http://www.diarionoticias.com.py/011000/nacional/naciona1.htm">
# Noticias, a daily paper in Asuncion, Paraguay (2000-10-01)
# </a>:
# Starting at 0:00 today, the clock will be set forward 60 minutes, in
# fulfillment of Decree No. 7,273 of the Executive Power.... The time change
# system has been operating for several years. Formerly there was a separate
# decree each year; the new law has the same effect, but permanently. Every
# year, the time will change on the first Sunday of October; likewise, the
# clock will be set back on the first Sunday of March.
#
Rule Para 1996 2001 - Oct Sun>=1 0:00 1:00 S
# IATA SSIM (1997-09) says Mar 1; go with Shanks & Pottenger.
Rule Para 1997 only - Feb lastSun 0:00 0 -
# Shanks & Pottenger say 1999-02-28; IATA SSIM (1999-02) says 1999-02-27, but
# (1999-09) reports no date; go with above sources and Gerd Knops (2001-02-27).
Rule Para 1998 2001 - Mar Sun>=1 0:00 0 -
# From Rives McDow (2002-02-28):
# A decree was issued in Paraguay (no. 16350) on 2002-02-26 that changed the
# dst method to be from the first Sunday in September to the first Sunday in
# April.
Rule Para 2002 2004 - Apr Sun>=1 0:00 0 -
Rule Para 2002 2003 - Sep Sun>=1 0:00 1:00 S
#
# From Jesper Norgaard Welen (2005-01-02):
# There are several sources that claim that Paraguay made
# a timezone rule change in autumn 2004.
# From Steffen Thorsen (2005-01-05):
# Decree 1,867 (2004-03-05)
# From Carlos Raul Perasso via Jesper Norgaard Welen (2006-10-13)
# <http://www.presidencia.gov.py/decretos/D1867.pdf>
Rule Para 2004 2009 - Oct Sun>=15 0:00 1:00 S
Rule Para 2005 2009 - Mar Sun>=8 0:00 0 -
# From Carlos Raul Perasso (2010-02-18):
# By decree number 3958 issued yesterday (
# <a href="http://www.presidencia.gov.py/v1/wp-content/uploads/2010/02/decreto3958.pdf">
# http://www.presidencia.gov.py/v1/wp-content/uploads/2010/02/decreto3958.pdf
# </a>
# )
# Paraguay changes its DST schedule, postponing the March rule to April and
# modifying the October date. The decree reads:
# ...
# Art. 1. It is hereby established that from the second Sunday of the month of
# April of this year (2010), the official time is to be set back 60 minutes,
# and that on the first Sunday of the month of October, it is to be set
# forward 60 minutes, in all the territory of the Paraguayan Republic.
# ...
Rule Para 2010 max - Oct Sun>=1 0:00 1:00 S
Rule Para 2010 max - Apr Sun>=8 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Asuncion -3:50:40 - LMT 1890
-3:50:40 - AMT 1931 Oct 10 # Asuncion Mean Time
-4:00 - PYT 1972 Oct # Paraguay Time
-3:00 - PYT 1974 Apr
-4:00 Para PY%sT
# Peru
#
# <a href="news:xrGmb.39935$gA1.13896113@news4.srv.hcvlny.cv.net">
# From Evelyn C. Leeper via Mark Brader (2003-10-26):</a>
# When we were in Peru in 1985-1986, they apparently switched over
# sometime between December 29 and January 3 while we were on the Amazon.
#
# From Paul Eggert (2006-03-22):
# Shanks & Pottenger don't have this transition. Assume 1986 was like 1987.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Peru 1938 only - Jan 1 0:00 1:00 S
Rule Peru 1938 only - Apr 1 0:00 0 -
Rule Peru 1938 1939 - Sep lastSun 0:00 1:00 S
......@@ -435,29 +1587,54 @@ Rule Peru 1986 1987 - Jan 1 0:00 1:00 S
Rule Peru 1986 1987 - Apr 1 0:00 0 -
Rule Peru 1990 only - Jan 1 0:00 1:00 S
Rule Peru 1990 only - Apr 1 0:00 0 -
# IATA is ambiguous for 1993/1995; go with Shanks & Pottenger.
Rule Peru 1994 only - Jan 1 0:00 1:00 S
Rule Peru 1994 only - Apr 1 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Lima -5:08:12 - LMT 1890
-5:08:36 - LMT 1908 Jul 28 # Lima Mean Time?
-5:00 Peru PE%sT # Peru Time
# South Georgia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Atlantic/South_Georgia -2:26:08 - LMT 1890 # Grytviken
-2:00 - GST # South Georgia Time
# South Sandwich Is
# uninhabited; scientific personnel have wintered
# Suriname
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Paramaribo -3:40:40 - LMT 1911
-3:40:52 - PMT 1935 # Paramaribo Mean Time
-3:40:36 - PMT 1945 Oct # The capital moved?
-3:30 - NEGT 1975 Nov 20 # Dutch Guiana Time
-3:30 - SRT 1984 Oct # Suriname Time
-3:00 - SRT
# Trinidad and Tobago
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Port_of_Spain -4:06:04 - LMT 1912 Mar 2
-4:00 - AST
# Uruguay
# From Paul Eggert (1993-11-18):
# Uruguay wins the prize for the strangest peacetime manipulation of the rules.
# From Shanks & Pottenger:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
# Whitman gives 1923 Oct 1; go with Shanks & Pottenger.
Rule Uruguay 1923 only - Oct 2 0:00 0:30 HS
Rule Uruguay 1924 1926 - Apr 1 0:00 0 -
Rule Uruguay 1924 1925 - Oct 1 0:00 0:30 HS
Rule Uruguay 1933 1935 - Oct lastSun 0:00 0:30 HS
# Shanks & Pottenger give 1935 Apr 1 0:00 & 1936 Mar 30 0:00; go with Whitman.
Rule Uruguay 1934 1936 - Mar Sat>=25 23:30s 0 -
Rule Uruguay 1936 only - Nov 1 0:00 0:30 HS
Rule Uruguay 1937 1941 - Mar lastSun 0:00 0 -
# Whitman gives 1937 Oct 3; go with Shanks & Pottenger.
Rule Uruguay 1937 1940 - Oct lastSun 0:00 0:30 HS
# Whitman gives 1941 Oct 24 - 1942 Mar 27, 1942 Dec 14 - 1943 Apr 13,
# and 1943 Apr 13 ``to present time''; go with Shanks & Pottenger.
Rule Uruguay 1941 only - Aug 1 0:00 0:30 HS
Rule Uruguay 1942 only - Jan 1 0:00 0 -
Rule Uruguay 1942 only - Dec 14 0:00 1:00 S
......@@ -485,20 +1662,48 @@ Rule Uruguay 1988 only - Mar 14 0:00 0 -
Rule Uruguay 1988 only - Dec 11 0:00 1:00 S
Rule Uruguay 1989 only - Mar 12 0:00 0 -
Rule Uruguay 1989 only - Oct 29 0:00 1:00 S
# Shanks & Pottenger say no DST was observed in 1990/1 and 1991/2,
# and that 1992/3's DST was from 10-25 to 03-01. Go with IATA.
Rule Uruguay 1990 1992 - Mar Sun>=1 0:00 0 -
Rule Uruguay 1990 1991 - Oct Sun>=21 0:00 1:00 S
Rule Uruguay 1992 only - Oct 18 0:00 1:00 S
Rule Uruguay 1993 only - Feb 28 0:00 0 -
# From Eduardo Cota (2004-09-20):
# The uruguayan government has decreed a change in the local time....
# http://www.presidencia.gub.uy/decretos/2004091502.htm
Rule Uruguay 2004 only - Sep 19 0:00 1:00 S
# From Steffen Thorsen (2005-03-11):
# Uruguay's DST was scheduled to end on Sunday, 2005-03-13, but in order to
# save energy ... it was postponed two weeks....
# http://www.presidencia.gub.uy/_Web/noticias/2005/03/2005031005.htm
Rule Uruguay 2005 only - Mar 27 2:00 0 -
# From Eduardo Cota (2005-09-27):
# http://www.presidencia.gub.uy/_Web/decretos/2005/09/CM%20119_09%2009%202005_00001.PDF
# This means that from 2005-10-09 at 02:00 local time, until 2006-03-12 at
# 02:00 local time, official time in Uruguay will be at GMT -2.
Rule Uruguay 2005 only - Oct 9 2:00 1:00 S
Rule Uruguay 2006 only - Mar 12 2:00 0 -
# From Jesper Norgaard Welen (2006-09-06):
# http://www.presidencia.gub.uy/_web/decretos/2006/09/CM%20210_08%2006%202006_00001.PDF
Rule Uruguay 2006 max - Oct Sun>=1 2:00 1:00 S
Rule Uruguay 2007 max - Mar Sun>=8 2:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Montevideo -3:44:44 - LMT 1898 Jun 28
-3:44:44 - MMT 1920 May 1 # Montevideo MT
-3:30 Uruguay UY%sT 1942 Dec 14 # Uruguay Time
-3:00 Uruguay UY%sT
# Venezuela
#
# From John Stainforth (2007-11-28):
# ... the change for Venezuela originally expected for 2007-12-31 has
# been brought forward to 2007-12-09. The official announcement was
# published today in the "Gaceta Oficial de la Republica Bolivariana
# de Venezuela, numero 38.819" (official document for all laws or
# resolution publication)
# http://www.globovision.com/news.php?nid=72208
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Caracas -4:27:44 - LMT 1890
-4:27:40 - CMT 1912 Feb 12 # Caracas Mean Time?
-4:30 - VET 1965 # Venezuela Time
......
# <pre>
# @(#)systemv 8.2
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
......
......@@ -3,8 +3,6 @@
: 'This file is in the public domain, so clarified as of'
: '2006-07-17 by Arthur David Olson.'
: '@(#)yearistype.sh 8.2'
case $#-$1 in
2-|2-0*|2-*[!0-9]*)
echo "$0: wild year - $1" >&2
......
# <pre>
# @(#)zone.tab 8.41
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
#
......@@ -32,7 +31,6 @@ AG +1703-06148 America/Antigua
AI +1812-06304 America/Anguilla
AL +4120+01950 Europe/Tirane
AM +4011+04430 Asia/Yerevan
AN +1211-06900 America/Curacao
AO -0848+01314 Africa/Luanda
AQ -7750+16636 Antarctica/McMurdo McMurdo Station, Ross Island
AQ -9000+00000 Antarctica/South_Pole Amundsen-Scott Station, South Pole
......@@ -87,6 +85,7 @@ BL +1753-06251 America/St_Barthelemy
BM +3217-06446 Atlantic/Bermuda
BN +0456+11455 Asia/Brunei
BO -1630-06809 America/La_Paz
BQ +120903-0681636 America/Kralendijk
BR -0351-03225 America/Noronha Atlantic islands
BR -0127-04829 America/Belem Amapa, E Para
BR -0343-03830 America/Fortaleza NE Brazil (MA, PI, CE, RN, PB)
......@@ -120,7 +119,7 @@ CA +4901-08816 America/Nipigon Eastern Time - Ontario & Quebec - places that did
CA +4823-08915 America/Thunder_Bay Eastern Time - Thunder Bay, Ontario
CA +6344-06828 America/Iqaluit Eastern Time - east Nunavut - most locations
CA +6608-06544 America/Pangnirtung Eastern Time - Pangnirtung, Nunavut
CA +744144-0944945 America/Resolute Eastern Standard Time - Resolute, Nunavut
CA +744144-0944945 America/Resolute Central Standard Time - Resolute, Nunavut
CA +484531-0913718 America/Atikokan Eastern Standard Time - Atikokan, Ontario and Southampton I, Nunavut
CA +624900-0920459 America/Rankin_Inlet Central Time - central Nunavut
CA +4953-09709 America/Winnipeg Central Time - Manitoba & west Ontario
......@@ -131,6 +130,7 @@ CA +5333-11328 America/Edmonton Mountain Time - Alberta, east British Columbia &
CA +690650-1050310 America/Cambridge_Bay Mountain Time - west Nunavut
CA +6227-11421 America/Yellowknife Mountain Time - central Northwest Territories
CA +682059-1334300 America/Inuvik Mountain Time - west Northwest Territories
CA +4906-11631 America/Creston Mountain Standard Time - Creston, British Columbia
CA +5946-12014 America/Dawson_Creek Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia
CA +4916-12307 America/Vancouver Pacific Time - west British Columbia
CA +6043-13503 America/Whitehorse Pacific Time - south Yukon
......@@ -155,6 +155,7 @@ CO +0436-07405 America/Bogota
CR +0956-08405 America/Costa_Rica
CU +2308-08222 America/Havana
CV +1455-02331 Atlantic/Cape_Verde
CW +1211-06900 America/Curacao
CX -1025+10543 Indian/Christmas
CY +3510+03322 Asia/Nicosia
CZ +5005+01426 Europe/Prague
......@@ -318,7 +319,8 @@ PL +5215+02100 Europe/Warsaw
PM +4703-05620 America/Miquelon
PN -2504-13005 Pacific/Pitcairn
PR +182806-0660622 America/Puerto_Rico
PS +3130+03428 Asia/Gaza
PS +3130+03428 Asia/Gaza Gaza Strip
PS +313200+0350542 Asia/Hebron West Bank
PT +3843-00908 Europe/Lisbon mainland
PT +3238-01654 Atlantic/Madeira Madeira Islands
PT +3744-02540 Atlantic/Azores Azores
......@@ -331,7 +333,7 @@ RS +4450+02030 Europe/Belgrade
RU +5443+02030 Europe/Kaliningrad Moscow-01 - Kaliningrad
RU +5545+03735 Europe/Moscow Moscow+00 - west Russia
RU +4844+04425 Europe/Volgograd Moscow+00 - Caspian Sea
RU +5312+05009 Europe/Samara Moscow - Samara, Udmurtia
RU +5312+05009 Europe/Samara Moscow+00 - Samara, Udmurtia
RU +5651+06036 Asia/Yekaterinburg Moscow+02 - Urals
RU +5500+07324 Asia/Omsk Moscow+03 - west Siberia
RU +5502+08255 Asia/Novosibirsk Moscow+03 - Novosibirsk
......@@ -360,8 +362,10 @@ SM +4355+01228 Europe/San_Marino
SN +1440-01726 Africa/Dakar
SO +0204+04522 Africa/Mogadishu
SR +0550-05510 America/Paramaribo
SS +0451+03136 Africa/Juba
ST +0020+00644 Africa/Sao_Tome
SV +1342-08912 America/El_Salvador
SX +180305-0630250 America/Lower_Princes
SY +3330+03618 Asia/Damascus
SZ -2618+03106 Africa/Mbabane
TC +2128-07108 America/Grand_Turk
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment