tz_shift/3 added, underscores removed from timezones names.

This commit is contained in:
Dmitry Melnikov 2010-12-18 22:09:01 +03:00
parent add59e5cc6
commit 055e6f0804
4 changed files with 121 additions and 108 deletions

1
README
View file

@ -5,6 +5,7 @@ This library contains next public exported methods:
* local_to_local(DateTime, TimezoneFrom, TimezoneTo) - converts local time to local * local_to_local(DateTime, TimezoneFrom, TimezoneTo) - converts local time to local
* tz_name(DateTime, Timezone) - returns a timezone name (E.g. MSK, MSD, etc) * tz_name(DateTime, Timezone) - returns a timezone name (E.g. MSK, MSD, etc)
* tz_shift(DateTime, Timezone) - returns shift from local datetime to GMT * tz_shift(DateTime, Timezone) - returns shift from local datetime to GMT
* tz_shift(DateTime, TimezoneFrom, TimezoneTo) - returns shift from local datetime to required timezone
Where Where
DateTime = {date(), time()} DateTime = {date(), time()}
TimeZone(To, From) = String(). E.g. “Europe/Moscow”, “America/NewYork”. Or abbreviation "MSK", "MSD", etc. Note: TimeZone(To, From) = String(). E.g. “Europe/Moscow”, “America/NewYork”. Or abbreviation "MSK", "MSD", etc. Note:

View file

@ -16,7 +16,7 @@
-author("Dmitry Melnikov <dmitryme@gmail.com>"). -author("Dmitry Melnikov <dmitryme@gmail.com>").
% {TimeZoneName, {StdAbbr, StdName}, {DstAbbr, DstName}, StdMin, DstMin, DstStartDay, DstStartTime, DstEndDay, DstEndTime} % {TimeZoneName, {StdAbbr, StdName}, {DstAbbr, DstName}, StdMin, DstMin, DstStartDay, DstStartTime, DstEndDay, DstEndTime}
% TimeZoneName = String(), TimeZone name, MUST be unique. It is a key % TimeZoneName = String(), TimeZone name, MUST be unique. It is a key
% StdName = {String(), String()}, name and abbreviations of timezone before daylight shift % StdName = {String(), String()}, name and abbreviations of timezone before daylight shift
% DstName = {String(), String()}, name and abbreviations of timezone after daylight shift % DstName = {String(), String()}, name and abbreviations of timezone after daylight shift
@ -37,7 +37,7 @@
[ [
{"Africa/Abidjan",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}}, {"Africa/Abidjan",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}},
{"Africa/Accra",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}}, {"Africa/Accra",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}},
{"Africa/Addis_Ababa",{"EAT","EAT"},undef,180,0,undef,{0,0},undef,{0,0}}, {"Africa/Addis Ababa",{"EAT","EAT"},undef,180,0,undef,{0,0},undef,{0,0}},
{"Africa/Algiers",{"CET","CET"},undef,60,0,undef,{0,0},undef,{0,0}}, {"Africa/Algiers",{"CET","CET"},undef,60,0,undef,{0,0},undef,{0,0}},
{"Africa/Asmera",{"EAT","EAT"},undef,180,0,undef,{0,0},undef,{0,0}}, {"Africa/Asmera",{"EAT","EAT"},undef,180,0,undef,{0,0},undef,{0,0}},
{"Africa/Bamako",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}}, {"Africa/Bamako",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}},
@ -52,10 +52,10 @@
{"Africa/Ceuta",{"CET","CET"},{"CEST","CEST"},60,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}}, {"Africa/Ceuta",{"CET","CET"},{"CEST","CEST"},60,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}},
{"Africa/Conakry",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}}, {"Africa/Conakry",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}},
{"Africa/Dakar",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}}, {"Africa/Dakar",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}},
{"Africa/Dar_es_Salaam",{"EAT","EAT"},undef,180,0,undef,{0,0},undef,{0,0}}, {"Africa/Dar es Salaam",{"EAT","EAT"},undef,180,0,undef,{0,0},undef,{0,0}},
{"Africa/Djibouti",{"EAT","EAT"},undef,180,0,undef,{0,0},undef,{0,0}}, {"Africa/Djibouti",{"EAT","EAT"},undef,180,0,undef,{0,0},undef,{0,0}},
{"Africa/Douala",{"WAT","WAT"},undef,60,0,undef,{0,0},undef,{0,0}}, {"Africa/Douala",{"WAT","WAT"},undef,60,0,undef,{0,0},undef,{0,0}},
{"Africa/El_Aaiun",{"WET","WET"},undef,0,0,undef,{0,0},undef,{0,0}}, {"Africa/El Aaiun",{"WET","WET"},undef,0,0,undef,{0,0},undef,{0,0}},
{"Africa/Freetown",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}}, {"Africa/Freetown",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}},
{"Africa/Gaborone",{"CAT","CAT"},undef,120,0,undef,{0,0},undef,{0,0}}, {"Africa/Gaborone",{"CAT","CAT"},undef,120,0,undef,{0,0},undef,{0,0}},
{"Africa/Harare",{"CAT","CAT"},undef,120,0,undef,{0,0},undef,{0,0}}, {"Africa/Harare",{"CAT","CAT"},undef,120,0,undef,{0,0},undef,{0,0}},
@ -82,7 +82,7 @@
{"Africa/Nouakchott",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}}, {"Africa/Nouakchott",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}},
{"Africa/Ouagadougou",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}}, {"Africa/Ouagadougou",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}},
{"Africa/Porto-Novo",{"WAT","WAT"},undef,60,0,undef,{0,0},undef,{0,0}}, {"Africa/Porto-Novo",{"WAT","WAT"},undef,60,0,undef,{0,0},undef,{0,0}},
{"Africa/Sao_Tome",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}}, {"Africa/Sao Tome",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}},
{"Africa/Timbuktu",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}}, {"Africa/Timbuktu",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}},
{"Africa/Tripoli",{"EET","EET"},undef,120,0,undef,{0,0},undef,{0,0}}, {"Africa/Tripoli",{"EET","EET"},undef,120,0,undef,{0,0},undef,{0,0}},
{"Africa/Tunis",{"CET","CET"},undef,60,0,undef,{0,0},undef,{0,0}}, {"Africa/Tunis",{"CET","CET"},undef,60,0,undef,{0,0},undef,{0,0}},
@ -97,11 +97,11 @@
{"America/Barbados",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/Barbados",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Belem",{"BRT","BRT"},undef,-180,0,undef,{0,0},undef,{0,0}}, {"America/Belem",{"BRT","BRT"},undef,-180,0,undef,{0,0},undef,{0,0}},
{"America/Belize",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}}, {"America/Belize",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}},
{"America/Boa_Vista",{"AMT","AMT"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/Boa Vista",{"AMT","AMT"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Bogota",{"COT","COT"},undef,-300,0,undef,{0,0},undef,{0,0}}, {"America/Bogota",{"COT","COT"},undef,-300,0,undef,{0,0},undef,{0,0}},
{"America/Boise",{"MST","MST"},{"MDT","MDT"},-420,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Boise",{"MST","MST"},{"MDT","MDT"},-420,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Buenos_Aires",{"ART","ART"},undef,-180,0,undef,{0,0},undef,{0,0}}, {"America/Buenos Aires",{"ART","ART"},undef,-180,0,undef,{0,0},undef,{0,0}},
{"America/Cambridge_Bay",{"MST","MST"},{"MDT","MDT"},-420,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Cambridge Bay",{"MST","MST"},{"MDT","MDT"},-420,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Cancun",{"CST","CST"},{"CDT","CDT"},-360,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}}, {"America/Cancun",{"CST","CST"},{"CDT","CDT"},-360,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}},
{"America/Caracas",{"VET","VET"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/Caracas",{"VET","VET"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Catamarca",{"ART","ART"},undef,-180,0,undef,{0,0},undef,{0,0}}, {"America/Catamarca",{"ART","ART"},undef,-180,0,undef,{0,0},undef,{0,0}},
@ -110,23 +110,23 @@
{"America/Chicago",{"CST","Central Standard Time"},{"CDT","Central Daylight Time"},-360,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Chicago",{"CST","Central Standard Time"},{"CDT","Central Daylight Time"},-360,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Chihuahua",{"MST","MST"},{"MDT","MDT"},-420,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}}, {"America/Chihuahua",{"MST","MST"},{"MDT","MDT"},-420,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}},
{"America/Cordoba",{"ART","ART"},undef,-180,0,undef,{0,0},undef,{0,0}}, {"America/Cordoba",{"ART","ART"},undef,-180,0,undef,{0,0},undef,{0,0}},
{"America/Costa_Rica",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}}, {"America/Costa Rica",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}},
{"America/Cuiaba",{"AMT","AMT"},{"AMST","AMST"},-240,60,{2,sun,oct},{0,0},{3,sun,feb},{0,0}}, {"America/Cuiaba",{"AMT","AMT"},{"AMST","AMST"},-240,60,{2,sun,oct},{0,0},{3,sun,feb},{0,0}},
{"America/Curacao",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/Curacao",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Danmarkshavn",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}}, {"America/Danmarkshavn",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}},
{"America/Dawson",{"PST","PST"},{"PDT","PDT"},-480,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Dawson",{"PST","PST"},{"PDT","PDT"},-480,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Dawson_Creek",{"MST","MST"},undef,-420,0,undef,{0,0},undef,{0,0}}, {"America/Dawson Creek",{"MST","MST"},undef,-420,0,undef,{0,0},undef,{0,0}},
{"America/Denver",{"MST","Mountain Standard Time"},{"MDT","Mountain Daylight Time"},-420,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Denver",{"MST","Mountain Standard Time"},{"MDT","Mountain Daylight Time"},-420,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Detroit",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Detroit",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Dominica",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/Dominica",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Edmonton",{"MST","MST"},{"MDT","MDT"},-420,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Edmonton",{"MST","MST"},{"MDT","MDT"},-420,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Eirunepe",{"ACT","ACT"},undef,-300,0,undef,{0,0},undef,{0,0}}, {"America/Eirunepe",{"ACT","ACT"},undef,-300,0,undef,{0,0},undef,{0,0}},
{"America/El_Salvador",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}}, {"America/El Salvador",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}},
{"America/Fortaleza",{"BRT","BRT"},{"BRST","BRST"},-180,60,{2,sun,oct},{0,0},{3,sun,feb},{0,0}}, {"America/Fortaleza",{"BRT","BRT"},{"BRST","BRST"},-180,60,{2,sun,oct},{0,0},{3,sun,feb},{0,0}},
{"America/Glace_Bay",{"AST","AST"},{"ADT","ADT"},-240,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Glace Bay",{"AST","AST"},{"ADT","ADT"},-240,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Godthab",{"WGT","WGT"},{"WGST","WGST"},-180,60,{last,sat,mar},{22,0},{last,sat,oct},{23,0}}, {"America/Godthab",{"WGT","WGT"},{"WGST","WGST"},-180,60,{last,sat,mar},{22,0},{last,sat,oct},{23,0}},
{"America/Goose_Bay",{"AST","AST"},{"ADT","ADT"},-240,60,{1,sun,apr},{0,1},{last,sun,oct},{0,1}}, {"America/Goose Bay",{"AST","AST"},{"ADT","ADT"},-240,60,{1,sun,apr},{0,1},{last,sun,oct},{0,1}},
{"America/Grand_Turk",{"EST","EST"},{"EDT","EDT"},-300,60,{1,sun,apr},{0,0},{last,sun,oct},{0,0}}, {"America/Grand Turk",{"EST","EST"},{"EDT","EDT"},-300,60,{1,sun,apr},{0,0},{last,sun,oct},{0,0}},
{"America/Grenada",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/Grenada",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Guadeloupe",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/Guadeloupe",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Guatemala",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}}, {"America/Guatemala",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}},
@ -147,9 +147,9 @@
{"America/Juneau",{"AKST","AKST"},{"AKDT","AKDT"},-540,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Juneau",{"AKST","AKST"},{"AKDT","AKDT"},-540,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Kentucky/Louisville",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Kentucky/Louisville",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Kentucky/Monticello",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Kentucky/Monticello",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/La_Paz",{"BOT","BOT"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/La Paz",{"BOT","BOT"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Lima",{"PET","PET"},undef,-300,0,undef,{0,0},undef,{0,0}}, {"America/Lima",{"PET","PET"},undef,-300,0,undef,{0,0},undef,{0,0}},
{"America/Los_Angeles",{"PST","Pacific Standard Time"},{"PDT","Pacific Daylight Time"},-480,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Los Angeles",{"PST","Pacific Standard Time"},{"PDT","Pacific Daylight Time"},-480,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Louisville",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Louisville",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Maceio",{"BRT","BRT"},{"BRST","BRST"},-180,60,{2,sun,oct},{0,0},{3,sun,feb},{0,0}}, {"America/Maceio",{"BRT","BRT"},{"BRST","BRST"},-180,60,{2,sun,oct},{0,0},{3,sun,feb},{0,0}},
{"America/Managua",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}}, {"America/Managua",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}},
@ -159,46 +159,46 @@
{"America/Mendoza",{"ART","ART"},undef,-180,0,undef,{0,0},undef,{0,0}}, {"America/Mendoza",{"ART","ART"},undef,-180,0,undef,{0,0},undef,{0,0}},
{"America/Menominee",{"CST","CST"},{"CDT","CDT"},-360,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Menominee",{"CST","CST"},{"CDT","CDT"},-360,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Merida",{"CST","CST"},{"CDT","CDT"},-360,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}}, {"America/Merida",{"CST","CST"},{"CDT","CDT"},-360,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}},
{"America/Mexico_City",{"CST","CST"},{"CDT","CDT"},-360,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}}, {"America/Mexico City",{"CST","CST"},{"CDT","CDT"},-360,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}},
{"America/Miquelon",{"PMST","PMST"},{"PMDT","PMDT"},-180,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Miquelon",{"PMST","PMST"},{"PMDT","PMDT"},-180,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Monterrey",{"CST","CST"},{"CDT","CDT"},-360,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}}, {"America/Monterrey",{"CST","CST"},{"CDT","CDT"},-360,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}},
{"America/Montevideo",{"UYT","UYT"},undef,-180,0,undef,{0,0},undef,{0,0}}, {"America/Montevideo",{"UYT","UYT"},undef,-180,0,undef,{0,0},undef,{0,0}},
{"America/Montreal",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Montreal",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Montserrat",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/Montserrat",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Nassau",{"EST","EST"},{"EDT","EDT"},-300,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}}, {"America/Nassau",{"EST","EST"},{"EDT","EDT"},-300,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}},
{"America/New_York",{"EST","Eastern Standard Time"},{"EDT","Eastern Daylight Time"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/New York",{"EST","Eastern Standard Time"},{"EDT","Eastern Daylight Time"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Nipigon",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Nipigon",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Nome",{"AKST","AKST"},{"AKDT","AKDT"},-540,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Nome",{"AKST","AKST"},{"AKDT","AKDT"},-540,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Noronha",{"FNT","FNT"},undef,-120,0,undef,{0,0},undef,{0,0}}, {"America/Noronha",{"FNT","FNT"},undef,-120,0,undef,{0,0},undef,{0,0}},
{"America/North_Dakota/Center",{"CST","CST"},{"CDT","CDT"},-360,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/North Dakota/Center",{"CST","CST"},{"CDT","CDT"},-360,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Panama",{"EST","EST"},undef,-300,0,undef,{0,0},undef,{0,0}}, {"America/Panama",{"EST","EST"},undef,-300,0,undef,{0,0},undef,{0,0}},
{"America/Pangnirtung",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Pangnirtung",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Paramaribo",{"SRT","SRT"},undef,-180,0,undef,{0,0},undef,{0,0}}, {"America/Paramaribo",{"SRT","SRT"},undef,-180,0,undef,{0,0},undef,{0,0}},
{"America/Phoenix",{"MST","Mountain Standard Time"},undef,-420,0,undef,{0,0},undef,{0,0}}, {"America/Phoenix",{"MST","Mountain Standard Time"},undef,-420,0,undef,{0,0},undef,{0,0}},
{"America/Port-au-Prince",{"EST","EST"},undef,-300,0,undef,{0,0},undef,{0,0}}, {"America/Port-au-Prince",{"EST","EST"},undef,-300,0,undef,{0,0},undef,{0,0}},
{"America/Port_of_Spain",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/Port of Spain",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Porto_Velho",{"AMT","AMT"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/Porto Velho",{"AMT","AMT"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Puerto_Rico",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/Puerto Rico",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Rainy_River",{"CST","CST"},{"CDT","CDT"},-360,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Rainy River",{"CST","CST"},{"CDT","CDT"},-360,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Rankin_Inlet",{"CST","CST"},{"CDT","CDT"},-360,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Rankin Inlet",{"CST","CST"},{"CDT","CDT"},-360,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Recife",{"BRT","BRT"},{"BRST","BRST"},-180,60,{2,sun,oct},{0,0},{3,sun,feb},{0,0}}, {"America/Recife",{"BRT","BRT"},{"BRST","BRST"},-180,60,{2,sun,oct},{0,0},{3,sun,feb},{0,0}},
{"America/Regina",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}}, {"America/Regina",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}},
{"America/Rio_Branco",{"ACT","ACT"},undef,-300,0,undef,{0,0},undef,{0,0}}, {"America/Rio Branco",{"ACT","ACT"},undef,-300,0,undef,{0,0},undef,{0,0}},
{"America/Rosario",{"ART","ART"},undef,-180,0,undef,{0,0},undef,{0,0}}, {"America/Rosario",{"ART","ART"},undef,-180,0,undef,{0,0},undef,{0,0}},
{"America/Santiago",{"CLT","CLT"},{"CLST","CLST"},-240,60,{2,sun,oct},{0,0},{2,sun,mar},{0,0}}, {"America/Santiago",{"CLT","CLT"},{"CLST","CLST"},-240,60,{2,sun,oct},{0,0},{2,sun,mar},{0,0}},
{"America/Santo_Domingo",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/Santo Domingo",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Sao_Paulo",{"BRT","BRT"},{"BRST","BRST"},-180,60,{2,sun,oct},{0,0},{3,sun,feb},{0,0}}, {"America/Sao Paulo",{"BRT","BRT"},{"BRST","BRST"},-180,60,{2,sun,oct},{0,0},{3,sun,feb},{0,0}},
{"America/Scoresbysund",{"EGT","EGT"},{"EGST","EGST"},-60,60,{last,sun,mar},{0,0},{last,sun,oct},{1,0}}, {"America/Scoresbysund",{"EGT","EGT"},{"EGST","EGST"},-60,60,{last,sun,mar},{0,0},{last,sun,oct},{1,0}},
{"America/Shiprock",{"MST","MST"},{"MDT","MDT"},-420,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Shiprock",{"MST","MST"},{"MDT","MDT"},-420,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/St_Johns",{"NST","NST"},{"NDT","NDT"},-210,60,{1,sun,apr},{0,1},{last,sun,oct},{0,1}}, {"America/St Johns",{"NST","NST"},{"NDT","NDT"},-210,60,{1,sun,apr},{0,1},{last,sun,oct},{0,1}},
{"America/St_Kitts",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/St Kitts",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/St_Lucia",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/St Lucia",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/St_Thomas",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/St Thomas",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/St_Vincent",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/St Vincent",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Swift_Current",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}}, {"America/Swift Current",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}},
{"America/Tegucigalpa",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}}, {"America/Tegucigalpa",{"CST","CST"},undef,-360,0,undef,{0,0},undef,{0,0}},
{"America/Thule",{"AST","AST"},undef,-240,0,{2,sun,mar},{0,0},{1,sun,nov},{0,0}}, {"America/Thule",{"AST","AST"},undef,-240,0,{2,sun,mar},{0,0},{1,sun,nov},{0,0}},
{"America/Thunder_Bay",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Thunder Bay",{"EST","EST"},{"EDT","EDT"},-300,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
{"America/Tijuana",{"PST","PST"},{"PDT","PDT"},-480,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}}, {"America/Tijuana",{"PST","PST"},{"PDT","PDT"},-480,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}},
{"America/Tortola",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}}, {"America/Tortola",{"AST","AST"},undef,-240,0,undef,{0,0},undef,{0,0}},
{"America/Vancouver",{"PST","PST"},{"PDT","PDT"},-480,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}}, {"America/Vancouver",{"PST","PST"},{"PDT","PDT"},-480,60,{2,sun,mar},{2,0},{1,sun,nov},{2,0}},
@ -212,7 +212,7 @@
{"Antarctica/Mawson",{"MAWT","MAWT"},undef,360,0,undef,{0,0},undef,{0,0}}, {"Antarctica/Mawson",{"MAWT","MAWT"},undef,360,0,undef,{0,0},undef,{0,0}},
{"Antarctica/McMurdo",{"NZST","NZST"},{"NZDT","NZDT"},720,60,{1,sun,oct},{2,0},{3,sun,mar},{3,0}}, {"Antarctica/McMurdo",{"NZST","NZST"},{"NZDT","NZDT"},720,60,{1,sun,oct},{2,0},{3,sun,mar},{3,0}},
{"Antarctica/Palmer",{"CLT","CLT"},{"CLST","CLST"},-240,60,{2,sun,oct},{0,0},{2,sun,mar},{0,0}}, {"Antarctica/Palmer",{"CLT","CLT"},{"CLST","CLST"},-240,60,{2,sun,oct},{0,0},{2,sun,mar},{0,0}},
{"Antarctica/South_Pole",{"NZST","NZST"},{"NZDT","NZDT"},720,60,{1,sun,oct},{2,0},{3,sun,mar},{3,0}}, {"Antarctica/South Pole",{"NZST","NZST"},{"NZDT","NZDT"},720,60,{1,sun,oct},{2,0},{3,sun,mar},{3,0}},
{"Antarctica/Syowa",{"SYOT","SYOT"},undef,180,0,undef,{0,0},undef,{0,0}}, {"Antarctica/Syowa",{"SYOT","SYOT"},undef,180,0,undef,{0,0},undef,{0,0}},
{"Antarctica/Vostok",{"VOST","VOST"},undef,360,0,undef,{0,0},undef,{0,0}}, {"Antarctica/Vostok",{"VOST","VOST"},undef,360,0,undef,{0,0},undef,{0,0}},
{"Arctic/Longyearbyen",{"CET","CET"},{"CEST","CEST"},60,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}}, {"Arctic/Longyearbyen",{"CET","CET"},{"CEST","CEST"},60,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}},
@ -241,7 +241,7 @@
{"Asia/Dushanbe",{"TJT","TJT"},undef,300,0,undef,{0,0},undef,{0,0}}, {"Asia/Dushanbe",{"TJT","TJT"},undef,300,0,undef,{0,0},undef,{0,0}},
{"Asia/Gaza",{"EET","EET"},{"EEST","EEST"},120,60,{3,fri,apr},{0,0},{3,fri,oct},{0,0}}, {"Asia/Gaza",{"EET","EET"},{"EEST","EEST"},120,60,{3,fri,apr},{0,0},{3,fri,oct},{0,0}},
{"Asia/Harbin",{"CST","CST"},undef,480,0,undef,{0,0},undef,{0,0}}, {"Asia/Harbin",{"CST","CST"},undef,480,0,undef,{0,0},undef,{0,0}},
{"Asia/Hong_Kong",{"HKT","HKT"},undef,480,0,undef,{0,0},undef,{0,0}}, {"Asia/Hong Kong",{"HKT","HKT"},undef,480,0,undef,{0,0},undef,{0,0}},
{"Asia/Hovd",{"HOVT","HOVT"},undef,420,0,undef,{0,0},undef,{0,0}}, {"Asia/Hovd",{"HOVT","HOVT"},undef,420,0,undef,{0,0},undef,{0,0}},
{"Asia/Irkutsk",{"IRKT","IRKT"},{"IRKST","IRKST"},480,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}}, {"Asia/Irkutsk",{"IRKT","IRKT"},{"IRKST","IRKST"},480,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}},
{"Asia/Istanbul",{"EET","EET"},{"EEST","EEST"},120,60,{last,sun,mar},{3,0},{last,sun,oct},{4,0}}, {"Asia/Istanbul",{"EET","EET"},{"EEST","EEST"},120,60,{last,sun,mar},{3,0},{last,sun,oct},{4,0}},
@ -254,7 +254,7 @@
{"Asia/Kashgar",{"CST","CST"},undef,480,0,undef,{0,0},undef,{0,0}}, {"Asia/Kashgar",{"CST","CST"},undef,480,0,undef,{0,0},undef,{0,0}},
{"Asia/Katmandu",{"NPT","NPT"},undef,345,0,undef,{0,0},undef,{0,0}}, {"Asia/Katmandu",{"NPT","NPT"},undef,345,0,undef,{0,0},undef,{0,0}},
{"Asia/Krasnoyarsk",{"KRAT","KRAT"},{"KRAST","KRAST"},420,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}}, {"Asia/Krasnoyarsk",{"KRAT","KRAT"},{"KRAST","KRAST"},420,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}},
{"Asia/Kuala_Lumpur",{"MYT","MYT"},undef,480,0,undef,{0,0},undef,{0,0}}, {"Asia/Kuala Lumpur",{"MYT","MYT"},undef,480,0,undef,{0,0},undef,{0,0}},
{"Asia/Kuching",{"MYT","MYT"},undef,480,0,undef,{0,0},undef,{0,0}}, {"Asia/Kuching",{"MYT","MYT"},undef,480,0,undef,{0,0},undef,{0,0}},
{"Asia/Kuwait",{"AST","AST"},undef,180,0,undef,{0,0},undef,{0,0}}, {"Asia/Kuwait",{"AST","AST"},undef,180,0,undef,{0,0},undef,{0,0}},
{"Asia/Macao",{"CST","CST"},undef,480,0,undef,{0,0},undef,{0,0}}, {"Asia/Macao",{"CST","CST"},undef,480,0,undef,{0,0},undef,{0,0}},
@ -267,7 +267,7 @@
{"Asia/Novosibirsk",{"NOVT","NOVT"},{"NOVST","NOVST"},360,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}}, {"Asia/Novosibirsk",{"NOVT","NOVT"},{"NOVST","NOVST"},360,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}},
{"Asia/Omsk",{"OMST","OMST"},{"OMSST","OMSST"},360,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}}, {"Asia/Omsk",{"OMST","OMST"},{"OMSST","OMSST"},360,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}},
{"Asia/Oral",{"WST","WST"},undef,300,0,undef,{0,0},undef,{0,0}}, {"Asia/Oral",{"WST","WST"},undef,300,0,undef,{0,0},undef,{0,0}},
{"Asia/Phnom_Penh",{"ICT","ICT"},undef,420,0,undef,{0,0},undef,{0,0}}, {"Asia/Phnom Penh",{"ICT","ICT"},undef,420,0,undef,{0,0},undef,{0,0}},
{"Asia/Pontianak",{"WIT","WIT"},undef,420,0,undef,{0,0},undef,{0,0}}, {"Asia/Pontianak",{"WIT","WIT"},undef,420,0,undef,{0,0},undef,{0,0}},
{"Asia/Pyongyang",{"KST","KST"},undef,540,0,undef,{0,0},undef,{0,0}}, {"Asia/Pyongyang",{"KST","KST"},undef,540,0,undef,{0,0},undef,{0,0}},
{"Asia/Qyzylorda",{"KST","KST"},undef,360,0,undef,{0,0},undef,{0,0}}, {"Asia/Qyzylorda",{"KST","KST"},undef,360,0,undef,{0,0},undef,{0,0}},
@ -286,7 +286,7 @@
{"Asia/Tehran",{"IRT","IRT"},undef,210,0,undef,{0,0},undef,{0,0}}, {"Asia/Tehran",{"IRT","IRT"},undef,210,0,undef,{0,0},undef,{0,0}},
{"Asia/Thimphu",{"BTT","BTT"},undef,360,0,undef,{0,0},undef,{0,0}}, {"Asia/Thimphu",{"BTT","BTT"},undef,360,0,undef,{0,0},undef,{0,0}},
{"Asia/Tokyo",{"JST","JST"},undef,540,0,undef,{0,0},undef,{0,0}}, {"Asia/Tokyo",{"JST","JST"},undef,540,0,undef,{0,0},undef,{0,0}},
{"Asia/Ujung_Pandang",{"CIT","CIT"},undef,480,0,undef,{0,0},undef,{0,0}}, {"Asia/Ujung Pandang",{"CIT","CIT"},undef,480,0,undef,{0,0},undef,{0,0}},
{"Asia/Ulaanbaatar",{"ULAT","ULAT"},undef,480,0,undef,{0,0},undef,{0,0}}, {"Asia/Ulaanbaatar",{"ULAT","ULAT"},undef,480,0,undef,{0,0},undef,{0,0}},
{"Asia/Urumqi",{"CST","CST"},undef,480,0,undef,{0,0},undef,{0,0}}, {"Asia/Urumqi",{"CST","CST"},undef,480,0,undef,{0,0},undef,{0,0}},
{"Asia/Vientiane",{"ICT","ICT"},undef,420,0,undef,{0,0},undef,{0,0}}, {"Asia/Vientiane",{"ICT","ICT"},undef,420,0,undef,{0,0},undef,{0,0}},
@ -297,21 +297,21 @@
{"Atlantic/Azores",{"AZOT","AZOT"},{"AZOST","AZOST"},-60,60,{last,sun,mar},{0,0},{last,sun,oct},{1,0}}, {"Atlantic/Azores",{"AZOT","AZOT"},{"AZOST","AZOST"},-60,60,{last,sun,mar},{0,0},{last,sun,oct},{1,0}},
{"Atlantic/Bermuda",{"AST","AST"},{"ADT","ADT"},-240,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}}, {"Atlantic/Bermuda",{"AST","AST"},{"ADT","ADT"},-240,60,{1,sun,apr},{2,0},{last,sun,oct},{2,0}},
{"Atlantic/Canary",{"WET","WET"},{"WEST","WEST"},0,60,{last,sun,mar},{1,0},{last,sun,oct},{2,0}}, {"Atlantic/Canary",{"WET","WET"},{"WEST","WEST"},0,60,{last,sun,mar},{1,0},{last,sun,oct},{2,0}},
{"Atlantic/Cape_Verde",{"CVT","CVT"},undef,-60,0,undef,{0,0},undef,{0,0}}, {"Atlantic/Cape Verde",{"CVT","CVT"},undef,-60,0,undef,{0,0},undef,{0,0}},
{"Atlantic/Faeroe",{"WET","WET"},{"WEST","WEST"},0,60,{last,sun,mar},{1,0},{last,sun,oct},{2,0}}, {"Atlantic/Faeroe",{"WET","WET"},{"WEST","WEST"},0,60,{last,sun,mar},{1,0},{last,sun,oct},{2,0}},
{"Atlantic/Jan_Mayen",{"CET","CET"},{"CEST","CEST"},60,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}}, {"Atlantic/Jan Mayen",{"CET","CET"},{"CEST","CEST"},60,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}},
{"Atlantic/Madeira",{"WET","WET"},{"WEST","WEST"},0,60,{last,sun,mar},{1,0},{last,sun,oct},{2,0}}, {"Atlantic/Madeira",{"WET","WET"},{"WEST","WEST"},0,60,{last,sun,mar},{1,0},{last,sun,oct},{2,0}},
{"Atlantic/Reykjavik",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}}, {"Atlantic/Reykjavik",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}},
{"Atlantic/South_Georgia",{"GST","GST"},undef,-120,0,undef,{0,0},undef,{0,0}}, {"Atlantic/South Georgia",{"GST","GST"},undef,-120,0,undef,{0,0},undef,{0,0}},
{"Atlantic/St_Helena",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}}, {"Atlantic/St Helena",{"GMT","GMT"},undef,0,0,undef,{0,0},undef,{0,0}},
{"Atlantic/Stanley",{"FKT","FKT"},{"FKST","FKST"},-240,60,{1,sun,sep},{2,0},{3,sun,apr},{2,0}}, {"Atlantic/Stanley",{"FKT","FKT"},{"FKST","FKST"},-240,60,{1,sun,sep},{2,0},{3,sun,apr},{2,0}},
{"Australia/Adelaide",{"CST","CST"},{"CST","CST"},570,60,{last,sun,oct},{2,0},{last,sun,mar},{3,0}}, {"Australia/Adelaide",{"CST","CST"},{"CST","CST"},570,60,{last,sun,oct},{2,0},{last,sun,mar},{3,0}},
{"Australia/Brisbane",{"EST","EST"},undef,600,0,undef,{0,0},undef,{0,0}}, {"Australia/Brisbane",{"EST","EST"},undef,600,0,undef,{0,0},undef,{0,0}},
{"Australia/Broken_Hill",{"CST","CST"},{"CST","CST"},570,60,{last,sun,oct},{2,0},{last,sun,mar},{3,0}}, {"Australia/Broken Hill",{"CST","CST"},{"CST","CST"},570,60,{last,sun,oct},{2,0},{last,sun,mar},{3,0}},
{"Australia/Darwin",{"CST","CST"},undef,570,0,undef,{0,0},undef,{0,0}}, {"Australia/Darwin",{"CST","CST"},undef,570,0,undef,{0,0},undef,{0,0}},
{"Australia/Hobart",{"EST","EST"},{"EST","EST"},600,60,{1,sun,oct},{2,0},{last,sun,mar},{3,0}}, {"Australia/Hobart",{"EST","EST"},{"EST","EST"},600,60,{1,sun,oct},{2,0},{last,sun,mar},{3,0}},
{"Australia/Lindeman",{"EST","EST"},undef,600,0,undef,{0,0},undef,{0,0}}, {"Australia/Lindeman",{"EST","EST"},undef,600,0,undef,{0,0},undef,{0,0}},
{"Australia/Lord_Howe",{"LHST","LHST"},{"LHST","LHST"},630,30,{last,sun,oct},{2,0},{last,sun,mar},{2,0}}, {"Australia/Lord Howe",{"LHST","LHST"},{"LHST","LHST"},630,30,{last,sun,oct},{2,0},{last,sun,mar},{2,0}},
{"Australia/Melbourne",{"EST","EST"},{"EST","EST"},600,60,{last,sun,oct},{2,0},{last,sun,mar},{3,0}}, {"Australia/Melbourne",{"EST","EST"},{"EST","EST"},600,60,{last,sun,oct},{2,0},{last,sun,mar},{3,0}},
{"Australia/Perth",{"WST","WST"},undef,480,0,undef,{0,0},undef,{0,0}}, {"Australia/Perth",{"WST","WST"},undef,480,0,undef,{0,0},undef,{0,0}},
{"Australia/Sydney",{"EST","EST"},{"EST","EST"},600,60,{last,sun,oct},{2,0},{last,sun,mar},{3,0}}, {"Australia/Sydney",{"EST","EST"},{"EST","EST"},600,60,{last,sun,oct},{2,0},{last,sun,mar},{3,0}},
@ -349,7 +349,7 @@
{"Europe/Riga",{"EET","EET"},{"EEST","EEST"},120,60,{last,sun,mar},{3,0},{last,sun,oct},{4,0}}, {"Europe/Riga",{"EET","EET"},{"EEST","EEST"},120,60,{last,sun,mar},{3,0},{last,sun,oct},{4,0}},
{"Europe/Rome",{"CET","CET"},{"CEST","CEST"},60,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}}, {"Europe/Rome",{"CET","CET"},{"CEST","CEST"},60,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}},
{"Europe/Samara",{"SAMT","SAMT"},{"SAMST","SAMST"},240,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}}, {"Europe/Samara",{"SAMT","SAMT"},{"SAMST","SAMST"},240,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}},
{"Europe/San_Marino",{"CET","CET"},{"CEST","CEST"},60,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}}, {"Europe/San Marino",{"CET","CET"},{"CEST","CEST"},60,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}},
{"Europe/Sarajevo",{"CET","CET"},{"CEST","CEST"},60,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}}, {"Europe/Sarajevo",{"CET","CET"},{"CEST","CEST"},60,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}},
{"Europe/Simferopol",{"EET","EET"},{"EEST","EEST"},120,60,{last,sun,mar},{3,0},{last,sun,oct},{4,0}}, {"Europe/Simferopol",{"EET","EET"},{"EEST","EEST"},120,60,{last,sun,mar},{3,0},{last,sun,oct},{4,0}},
{"Europe/Skopje",{"CET","CET"},{"CEST","CEST"},60,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}}, {"Europe/Skopje",{"CET","CET"},{"CEST","CEST"},60,60,{last,sun,mar},{2,0},{last,sun,oct},{3,0}},
@ -402,11 +402,11 @@
{"Pacific/Niue",{"NUT","NUT"},undef,-660,0,undef,{0,0},undef,{0,0}}, {"Pacific/Niue",{"NUT","NUT"},undef,-660,0,undef,{0,0},undef,{0,0}},
{"Pacific/Norfolk",{"NFT","NFT"},undef,690,0,undef,{0,0},undef,{0,0}}, {"Pacific/Norfolk",{"NFT","NFT"},undef,690,0,undef,{0,0},undef,{0,0}},
{"Pacific/Noumea",{"NCT","NCT"},undef,660,0,undef,{0,0},undef,{0,0}}, {"Pacific/Noumea",{"NCT","NCT"},undef,660,0,undef,{0,0},undef,{0,0}},
{"Pacific/Pago_Pago",{"SST","SST"},undef,-660,0,undef,{0,0},undef,{0,0}}, {"Pacific/Pago Pago",{"SST","SST"},undef,-660,0,undef,{0,0},undef,{0,0}},
{"Pacific/Palau",{"PWT","PWT"},undef,540,0,undef,{0,0},undef,{0,0}}, {"Pacific/Palau",{"PWT","PWT"},undef,540,0,undef,{0,0},undef,{0,0}},
{"Pacific/Pitcairn",{"PST","PST"},undef,-480,0,undef,{0,0},undef,{0,0}}, {"Pacific/Pitcairn",{"PST","PST"},undef,-480,0,undef,{0,0},undef,{0,0}},
{"Pacific/Ponape",{"PONT","PONT"},undef,660,0,undef,{0,0},undef,{0,0}}, {"Pacific/Ponape",{"PONT","PONT"},undef,660,0,undef,{0,0},undef,{0,0}},
{"Pacific/Port_Moresby",{"PGT","PGT"},undef,600,0,undef,{0,0},undef,{0,0}}, {"Pacific/Port Moresby",{"PGT","PGT"},undef,600,0,undef,{0,0},undef,{0,0}},
{"Pacific/Rarotonga",{"CKT","CKT"},undef,-600,0,undef,{0,0},undef,{0,0}}, {"Pacific/Rarotonga",{"CKT","CKT"},undef,-600,0,undef,{0,0},undef,{0,0}},
{"Pacific/Saipan",{"ChST","ChST"},undef,600,0,undef,{0,0},undef,{0,0}}, {"Pacific/Saipan",{"ChST","ChST"},undef,600,0,undef,{0,0},undef,{0,0}},
{"Pacific/Tahiti",{"TAHT","TAHT"},undef,-600,0,undef,{0,0},undef,{0,0}}, {"Pacific/Tahiti",{"TAHT","TAHT"},undef,-600,0,undef,{0,0},undef,{0,0}},

View file

@ -4,16 +4,16 @@
[["NPT","Asia/Katmandu"],["CCT","Indian/Cocos"]], [["NPT","Asia/Katmandu"],["CCT","Indian/Cocos"]],
[["DAVT","Antarctica/Davis"], [["DAVT","Antarctica/Davis"],
["AZT","Asia/Baku"], ["AZT","Asia/Baku"],
["HKT","Asia/Hong_Kong"], ["HKT","Asia/Hong Kong"],
["IRT","Asia/Tehran"]], ["IRT","Asia/Tehran"]],
[["MST","America/Boise","America/Cambridge_Bay", [["MST","America/Boise","America/Cambridge Bay",
"America/Chihuahua","America/Dawson_Creek", "America/Chihuahua","America/Dawson Creek",
"America/Denver","America/Edmonton", "America/Denver","America/Edmonton",
"America/Hermosillo","America/Inuvik", "America/Hermosillo","America/Inuvik",
"America/Mazatlan","America/Phoenix", "America/Mazatlan","America/Phoenix",
"America/Shiprock","America/Yellowknife"], "America/Shiprock","America/Yellowknife"],
["YAKST","Asia/Yakutsk"]], ["YAKST","Asia/Yakutsk"]],
[["ADT","America/Glace_Bay","America/Goose_Bay", [["ADT","America/Glace Bay","America/Goose Bay",
"America/Halifax","Asia/Baghdad", "America/Halifax","Asia/Baghdad",
"Atlantic/Bermuda"], "Atlantic/Bermuda"],
["DDUT","Antarctica/DumontDUrville"], ["DDUT","Antarctica/DumontDUrville"],
@ -31,16 +31,16 @@
"Europe/Riga","Europe/Simferopol","Europe/Sofia", "Europe/Riga","Europe/Simferopol","Europe/Sofia",
"Europe/Tallinn","Europe/Uzhgorod", "Europe/Tallinn","Europe/Uzhgorod",
"Europe/Vilnius","Europe/Zaporozhye"], "Europe/Vilnius","Europe/Zaporozhye"],
["NDT","America/St_Johns"], ["NDT","America/St Johns"],
["GST","Asia/Dubai","Asia/Muscat", ["GST","Asia/Dubai","Asia/Muscat",
"Atlantic/South_Georgia"], "Atlantic/South Georgia"],
["SAKST","Asia/Sakhalin"], ["SAKST","Asia/Sakhalin"],
["SGT","Asia/Singapore"]], ["SGT","Asia/Singapore"]],
[["SAKT","Asia/Sakhalin"], [["SAKT","Asia/Sakhalin"],
["UZT","Asia/Samarkand","Asia/Tashkent"], ["UZT","Asia/Samarkand","Asia/Tashkent"],
["GEST","Asia/Tbilisi"], ["GEST","Asia/Tbilisi"],
["LHST","Australia/Lord_Howe", ["LHST","Australia/Lord Howe",
"Australia/Lord_Howe"], "Australia/Lord Howe"],
["MSK","Europe/Moscow"], ["MSK","Europe/Moscow"],
["RET","Indian/Reunion"], ["RET","Indian/Reunion"],
["PHOT","Pacific/Enderbury"], ["PHOT","Pacific/Enderbury"],
@ -52,20 +52,20 @@
["AST","America/Anguilla","America/Antigua", ["AST","America/Anguilla","America/Antigua",
"America/Aruba","America/Barbados", "America/Aruba","America/Barbados",
"America/Curacao","America/Dominica", "America/Curacao","America/Dominica",
"America/Glace_Bay","America/Goose_Bay", "America/Glace Bay","America/Goose Bay",
"America/Grenada","America/Guadeloupe", "America/Grenada","America/Guadeloupe",
"America/Halifax","America/Martinique", "America/Halifax","America/Martinique",
"America/Montserrat","America/Port_of_Spain", "America/Montserrat","America/Port of Spain",
"America/Puerto_Rico","America/Santo_Domingo", "America/Puerto Rico","America/Santo Domingo",
"America/St_Kitts","America/St_Lucia", "America/St Kitts","America/St Lucia",
"America/St_Thomas","America/St_Vincent", "America/St Thomas","America/St Vincent",
"America/Thule","America/Tortola","Asia/Aden", "America/Thule","America/Tortola","Asia/Aden",
"Asia/Baghdad","Asia/Bahrain","Asia/Kuwait", "Asia/Baghdad","Asia/Bahrain","Asia/Kuwait",
"Asia/Qatar","Asia/Riyadh","Atlantic/Bermuda"], "Asia/Qatar","Asia/Riyadh","Atlantic/Bermuda"],
["PETST","Asia/Kamchatka"], ["PETST","Asia/Kamchatka"],
["FKST","Atlantic/Stanley"], ["FKST","Atlantic/Stanley"],
["EASST","Pacific/Easter"]], ["EASST","Pacific/Easter"]],
[["NST","America/St_Johns"], [["NST","America/St Johns"],
["AQTST","Asia/Aqtau","Asia/Aqtobe"], ["AQTST","Asia/Aqtau","Asia/Aqtobe"],
["YEKT","Asia/Yekaterinburg"]], ["YEKT","Asia/Yekaterinburg"]],
[["BDT","Asia/Dhaka"], [["BDT","Asia/Dhaka"],
@ -108,50 +108,50 @@
"Africa/Mbabane"], "Africa/Mbabane"],
["CDT","America/Cancun","America/Chicago", ["CDT","America/Cancun","America/Chicago",
"America/Havana","America/Menominee", "America/Havana","America/Menominee",
"America/Merida","America/Mexico_City", "America/Merida","America/Mexico City",
"America/Monterrey","America/North_Dakota/Center", "America/Monterrey","America/North Dakota/Center",
"America/Rainy_River","America/Rankin_Inlet", "America/Rainy River","America/Rankin Inlet",
"America/Winnipeg"], "America/Winnipeg"],
["CHAST","Pacific/Chatham"]], ["CHAST","Pacific/Chatham"]],
[["HAST","America/Adak"], [["HAST","America/Adak"],
["PYST","America/Asuncion"], ["PYST","America/Asuncion"],
["PDT","America/Dawson","America/Los_Angeles", ["PDT","America/Dawson","America/Los Angeles",
"America/Tijuana","America/Vancouver", "America/Tijuana","America/Vancouver",
"America/Whitehorse"], "America/Whitehorse"],
["IST","Asia/Calcutta","Asia/Jerusalem", ["IST","Asia/Calcutta","Asia/Jerusalem",
"Europe/Dublin"], "Europe/Dublin"],
["CIT","Asia/Makassar","Asia/Ujung_Pandang"], ["CIT","Asia/Makassar","Asia/Ujung Pandang"],
["GET","Asia/Tbilisi"], ["GET","Asia/Tbilisi"],
["SAMST","Europe/Samara"]]}, ["SAMST","Europe/Samara"]]},
{[["PMDT","America/Miquelon"]], {[["PMDT","America/Miquelon"]],
[["EAT","Africa/Addis_Ababa","Africa/Asmera", [["EAT","Africa/Addis Ababa","Africa/Asmera",
"Africa/Dar_es_Salaam","Africa/Djibouti", "Africa/Dar es Salaam","Africa/Djibouti",
"Africa/Kampala","Africa/Khartoum", "Africa/Kampala","Africa/Khartoum",
"Africa/Mogadishu","Africa/Nairobi", "Africa/Mogadishu","Africa/Nairobi",
"Indian/Antananarivo","Indian/Comoro", "Indian/Antananarivo","Indian/Comoro",
"Indian/Mayotte"], "Indian/Mayotte"],
["CST","America/Belize","America/Cancun", ["CST","America/Belize","America/Cancun",
"America/Chicago","America/Costa_Rica", "America/Chicago","America/Costa Rica",
"America/El_Salvador","America/Guatemala", "America/El Salvador","America/Guatemala",
"America/Havana","America/Managua", "America/Havana","America/Managua",
"America/Menominee","America/Merida", "America/Menominee","America/Merida",
"America/Mexico_City","America/Monterrey", "America/Mexico City","America/Monterrey",
"America/North_Dakota/Center", "America/North Dakota/Center",
"America/Rainy_River","America/Rankin_Inlet", "America/Rainy River","America/Rankin Inlet",
"America/Regina","America/Swift_Current", "America/Regina","America/Swift Current",
"America/Tegucigalpa","America/Winnipeg", "America/Tegucigalpa","America/Winnipeg",
"Asia/Chongqing","Asia/Harbin","Asia/Kashgar", "Asia/Chongqing","Asia/Harbin","Asia/Kashgar",
"Asia/Macao","Asia/Macau","Asia/Shanghai", "Asia/Macao","Asia/Macau","Asia/Shanghai",
"Asia/Taipei","Asia/Urumqi","Australia/Adelaide", "Asia/Taipei","Asia/Urumqi","Australia/Adelaide",
"Australia/Adelaide","Australia/Broken_Hill", "Australia/Adelaide","Australia/Broken Hill",
"Australia/Broken_Hill","Australia/Darwin"], "Australia/Broken Hill","Australia/Darwin"],
["TJT","Asia/Dushanbe"], ["TJT","Asia/Dushanbe"],
["KRAT","Asia/Krasnoyarsk"], ["KRAT","Asia/Krasnoyarsk"],
["MYT","Asia/Kuala_Lumpur","Asia/Kuching"], ["MYT","Asia/Kuala Lumpur","Asia/Kuching"],
["VLAST","Asia/Vladivostok"], ["VLAST","Asia/Vladivostok"],
["SCT","Indian/Mahe"]], ["SCT","Indian/Mahe"]],
[["CEST","Africa/Ceuta","Arctic/Longyearbyen", [["CEST","Africa/Ceuta","Arctic/Longyearbyen",
"Atlantic/Jan_Mayen","Europe/Amsterdam", "Atlantic/Jan Mayen","Europe/Amsterdam",
"Europe/Andorra","Europe/Belgrade", "Europe/Andorra","Europe/Belgrade",
"Europe/Berlin","Europe/Bratislava", "Europe/Berlin","Europe/Bratislava",
"Europe/Brussels","Europe/Budapest", "Europe/Brussels","Europe/Budapest",
@ -159,12 +159,12 @@
"Europe/Ljubljana","Europe/Luxembourg", "Europe/Ljubljana","Europe/Luxembourg",
"Europe/Madrid","Europe/Malta","Europe/Monaco", "Europe/Madrid","Europe/Malta","Europe/Monaco",
"Europe/Oslo","Europe/Paris","Europe/Prague", "Europe/Oslo","Europe/Paris","Europe/Prague",
"Europe/Rome","Europe/San_Marino", "Europe/Rome","Europe/San Marino",
"Europe/Sarajevo","Europe/Skopje", "Europe/Sarajevo","Europe/Skopje",
"Europe/Stockholm","Europe/Tirane","Europe/Vaduz", "Europe/Stockholm","Europe/Tirane","Europe/Vaduz",
"Europe/Vatican","Europe/Vienna","Europe/Warsaw", "Europe/Vatican","Europe/Vienna","Europe/Warsaw",
"Europe/Zagreb","Europe/Zurich"], "Europe/Zagreb","Europe/Zurich"],
["PST","America/Dawson","America/Los_Angeles", ["PST","America/Dawson","America/Los Angeles",
"America/Tijuana","America/Vancouver", "America/Tijuana","America/Vancouver",
"America/Whitehorse","Pacific/Pitcairn"], "America/Whitehorse","Pacific/Pitcairn"],
["SYOT","Antarctica/Syowa"], ["SYOT","Antarctica/Syowa"],
@ -198,45 +198,45 @@
"America/Nome","America/Yakutat"], "America/Nome","America/Yakutat"],
["BRST","America/Araguaina","America/Fortaleza", ["BRST","America/Araguaina","America/Fortaleza",
"America/Maceio","America/Recife", "America/Maceio","America/Recife",
"America/Sao_Paulo"], "America/Sao Paulo"],
["CLT","America/Santiago","Antarctica/Palmer"], ["CLT","America/Santiago","Antarctica/Palmer"],
["EGST","America/Scoresbysund"], ["EGST","America/Scoresbysund"],
["LKT","Asia/Colombo"], ["LKT","Asia/Colombo"],
["OMST","Asia/Omsk"], ["OMST","Asia/Omsk"],
["WEST","Atlantic/Canary","Atlantic/Faeroe", ["WEST","Atlantic/Canary","Atlantic/Faeroe",
"Atlantic/Madeira","Europe/Lisbon"], "Atlantic/Madeira","Europe/Lisbon"],
["PGT","Pacific/Port_Moresby"]], ["PGT","Pacific/Port Moresby"]],
[["GMT","Africa/Abidjan","Africa/Accra", [["GMT","Africa/Abidjan","Africa/Accra",
"Africa/Bamako","Africa/Banjul","Africa/Bissau", "Africa/Bamako","Africa/Banjul","Africa/Bissau",
"Africa/Conakry","Africa/Dakar","Africa/Freetown", "Africa/Conakry","Africa/Dakar","Africa/Freetown",
"Africa/Lome","Africa/Monrovia", "Africa/Lome","Africa/Monrovia",
"Africa/Nouakchott","Africa/Ouagadougou", "Africa/Nouakchott","Africa/Ouagadougou",
"Africa/Sao_Tome","Africa/Timbuktu", "Africa/Sao Tome","Africa/Timbuktu",
"America/Danmarkshavn","Atlantic/Reykjavik", "America/Danmarkshavn","Atlantic/Reykjavik",
"Atlantic/St_Helena","Europe/Belfast", "Atlantic/St Helena","Europe/Belfast",
"Europe/Dublin","Europe/London"], "Europe/Dublin","Europe/London"],
["ACT","America/Eirunepe","America/Rio_Branco"], ["ACT","America/Eirunepe","America/Rio Branco"],
["NZDT","Antarctica/McMurdo", ["NZDT","Antarctica/McMurdo",
"Antarctica/South_Pole","Pacific/Auckland"], "Antarctica/South Pole","Pacific/Auckland"],
["YEKST","Asia/Yekaterinburg"], ["YEKST","Asia/Yekaterinburg"],
["GALT","Pacific/Galapagos"]], ["GALT","Pacific/Galapagos"]],
[["EDT","America/Detroit","America/Grand_Turk", [["EDT","America/Detroit","America/Grand Turk",
"America/Iqaluit","America/Kentucky/Louisville", "America/Iqaluit","America/Kentucky/Louisville",
"America/Kentucky/Monticello", "America/Kentucky/Monticello",
"America/Louisville","America/Montreal", "America/Louisville","America/Montreal",
"America/Nassau","America/New_York", "America/Nassau","America/New York",
"America/Nipigon","America/Pangnirtung", "America/Nipigon","America/Pangnirtung",
"America/Thunder_Bay"], "America/Thunder Bay"],
["BOT","America/La_Paz"], ["BOT","America/La Paz"],
["TMT","Asia/Ashgabat"], ["TMT","Asia/Ashgabat"],
["PETT","Asia/Kamchatka"], ["PETT","Asia/Kamchatka"],
["KRAST","Asia/Krasnoyarsk"], ["KRAST","Asia/Krasnoyarsk"],
["CVT","Atlantic/Cape_Verde"], ["CVT","Atlantic/Cape Verde"],
["FKT","Atlantic/Stanley"], ["FKT","Atlantic/Stanley"],
["EAST","Pacific/Easter"], ["EAST","Pacific/Easter"],
["NCT","Pacific/Noumea"]], ["NCT","Pacific/Noumea"]],
[["AMT","America/Boa_Vista","America/Cuiaba", [["AMT","America/Boa Vista","America/Cuiaba",
"America/Manaus","America/Porto_Velho", "America/Manaus","America/Porto Velho",
"Asia/Yerevan"], "Asia/Yerevan"],
["WGT","America/Godthab"], ["WGT","America/Godthab"],
["UYT","America/Montevideo"], ["UYT","America/Montevideo"],
@ -245,17 +245,17 @@
["KST","Asia/Pyongyang","Asia/Qyzylorda", ["KST","Asia/Pyongyang","Asia/Qyzylorda",
"Asia/Seoul"], "Asia/Seoul"],
["BTT","Asia/Thimphu"]], ["BTT","Asia/Thimphu"]],
[["ART","America/Buenos_Aires","America/Catamarca", [["ART","America/Buenos Aires","America/Catamarca",
"America/Cordoba","America/Jujuy", "America/Cordoba","America/Jujuy",
"America/Mendoza","America/Rosario"], "America/Mendoza","America/Rosario"],
["VET","America/Caracas"], ["VET","America/Caracas"],
["NZST","Antarctica/McMurdo", ["NZST","Antarctica/McMurdo",
"Antarctica/South_Pole","Pacific/Auckland"], "Antarctica/South Pole","Pacific/Auckland"],
["TRUT","Pacific/Truk"], ["TRUT","Pacific/Truk"],
["WAKT","Pacific/Wake"]], ["WAKT","Pacific/Wake"]],
[["CET","Africa/Algiers","Africa/Ceuta", [["CET","Africa/Algiers","Africa/Ceuta",
"Africa/Tunis","Arctic/Longyearbyen", "Africa/Tunis","Arctic/Longyearbyen",
"Atlantic/Jan_Mayen","Europe/Amsterdam", "Atlantic/Jan Mayen","Europe/Amsterdam",
"Europe/Andorra","Europe/Belgrade", "Europe/Andorra","Europe/Belgrade",
"Europe/Berlin","Europe/Bratislava", "Europe/Berlin","Europe/Bratislava",
"Europe/Brussels","Europe/Budapest", "Europe/Brussels","Europe/Budapest",
@ -263,13 +263,13 @@
"Europe/Ljubljana","Europe/Luxembourg", "Europe/Ljubljana","Europe/Luxembourg",
"Europe/Madrid","Europe/Malta","Europe/Monaco", "Europe/Madrid","Europe/Malta","Europe/Monaco",
"Europe/Oslo","Europe/Paris","Europe/Prague", "Europe/Oslo","Europe/Paris","Europe/Prague",
"Europe/Rome","Europe/San_Marino", "Europe/Rome","Europe/San Marino",
"Europe/Sarajevo","Europe/Skopje", "Europe/Sarajevo","Europe/Skopje",
"Europe/Stockholm","Europe/Tirane","Europe/Vaduz", "Europe/Stockholm","Europe/Tirane","Europe/Vaduz",
"Europe/Vatican","Europe/Vienna","Europe/Warsaw", "Europe/Vatican","Europe/Vienna","Europe/Warsaw",
"Europe/Zagreb","Europe/Zurich"], "Europe/Zagreb","Europe/Zurich"],
["EST","America/Cayman","America/Detroit", ["EST","America/Cayman","America/Detroit",
"America/Grand_Turk", "America/Grand Turk",
"America/Indiana/Indianapolis", "America/Indiana/Indianapolis",
"America/Indiana/Knox","America/Indiana/Marengo", "America/Indiana/Knox","America/Indiana/Marengo",
"America/Indiana/Vevay","America/Indianapolis", "America/Indiana/Vevay","America/Indianapolis",
@ -277,10 +277,10 @@
"America/Kentucky/Louisville", "America/Kentucky/Louisville",
"America/Kentucky/Monticello", "America/Kentucky/Monticello",
"America/Louisville","America/Montreal", "America/Louisville","America/Montreal",
"America/Nassau","America/New_York", "America/Nassau","America/New York",
"America/Nipigon","America/Panama", "America/Nipigon","America/Panama",
"America/Pangnirtung","America/Port-au-Prince", "America/Pangnirtung","America/Port-au-Prince",
"America/Thunder_Bay","Australia/Brisbane", "America/Thunder Bay","Australia/Brisbane",
"Australia/Hobart","Australia/Hobart", "Australia/Hobart","Australia/Hobart",
"Australia/Lindeman","Australia/Melbourne", "Australia/Lindeman","Australia/Melbourne",
"Australia/Melbourne","Australia/Sydney", "Australia/Melbourne","Australia/Sydney",
@ -298,21 +298,21 @@
["TFT","Indian/Kerguelen"], ["TFT","Indian/Kerguelen"],
["MUT","Indian/Mauritius"]], ["MUT","Indian/Mauritius"]],
[["AFT","Asia/Kabul"],["TKT","Pacific/Fakaofo"]], [["AFT","Asia/Kabul"],["TKT","Pacific/Fakaofo"]],
[["WET","Africa/Casablanca","Africa/El_Aaiun", [["WET","Africa/Casablanca","Africa/El Aaiun",
"Atlantic/Canary","Atlantic/Faeroe", "Atlantic/Canary","Atlantic/Faeroe",
"Atlantic/Madeira","Europe/Lisbon"], "Atlantic/Madeira","Europe/Lisbon"],
["BRT","America/Araguaina","America/Belem", ["BRT","America/Araguaina","America/Belem",
"America/Fortaleza","America/Maceio", "America/Fortaleza","America/Maceio",
"America/Recife","America/Sao_Paulo"], "America/Recife","America/Sao Paulo"],
["FNT","America/Noronha"], ["FNT","America/Noronha"],
["EGT","America/Scoresbysund"], ["EGT","America/Scoresbysund"],
["ICT","Asia/Bangkok","Asia/Phnom_Penh", ["ICT","Asia/Bangkok","Asia/Phnom Penh",
"Asia/Saigon","Asia/Vientiane"], "Asia/Saigon","Asia/Vientiane"],
["TPT","Asia/Dili"], ["TPT","Asia/Dili"],
["NFT","Pacific/Norfolk"], ["NFT","Pacific/Norfolk"],
["GILT","Pacific/Tarawa"]]}, ["GILT","Pacific/Tarawa"]]},
{[["PYT","America/Asuncion"], {[["PYT","America/Asuncion"],
["MDT","America/Boise","America/Cambridge_Bay", ["MDT","America/Boise","America/Cambridge Bay",
"America/Chihuahua","America/Denver", "America/Chihuahua","America/Denver",
"America/Edmonton","America/Inuvik", "America/Edmonton","America/Inuvik",
"America/Mazatlan","America/Shiprock", "America/Mazatlan","America/Shiprock",
@ -323,8 +323,8 @@
[["AQTT","Asia/Aqtau","Asia/Aqtobe"], [["AQTT","Asia/Aqtau","Asia/Aqtobe"],
["AZST","Asia/Baku"], ["AZST","Asia/Baku"],
["ChST","Pacific/Guam","Pacific/Saipan"], ["ChST","Pacific/Guam","Pacific/Saipan"],
["SST","Pacific/Midway","Pacific/Pago_Pago"]], ["SST","Pacific/Midway","Pacific/Pago Pago"]],
[["WAST","Africa/Windhoek"],["NUT","Pacific/Niue"]], [["WAST","Africa/Windhoek"],["NUT","Pacific/Niue"]],
[["PHT","Asia/Manila"]], [["PHT","Asia/Manila"]],
[],[],[],[],[],[],[],[],[],[],[],[]}, [],[],[],[],[],[],[],[],[],[],[],[]},
{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}}). {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}}).

View file

@ -27,6 +27,7 @@
,local_to_local/3 ,local_to_local/3
,tz_name/2 ,tz_name/2
,tz_shift/2 ,tz_shift/2
,tz_shift/3
]). ]).
% utc_to_local(UtcDateTime, Timezone) -> LocalDateTime | {error, ErrDescr} % utc_to_local(UtcDateTime, Timezone) -> LocalDateTime | {error, ErrDescr}
@ -138,7 +139,7 @@ tz_shift(LocalDateTime, Timezone) ->
false -> false ->
{error, unknown_tz}; {error, unknown_tz};
{_Tz, _StdName, undef, Shift, _DstShift, undef, _DstStartTime, undef, _DstEndTime} -> {_Tz, _StdName, undef, Shift, _DstShift, undef, _DstStartTime, undef, _DstEndTime} ->
Shift; fmt_min(Shift);
TzRule = {_, _StdName, _DstName, Shift, DstShift, _, _, _, _} -> TzRule = {_, _StdName, _DstName, Shift, DstShift, _, _, _, _} ->
case localtime_dst:check(LocalDateTime, TzRule) of case localtime_dst:check(LocalDateTime, TzRule) of
is_in_dst -> is_in_dst ->
@ -152,6 +153,12 @@ tz_shift(LocalDateTime, Timezone) ->
end end
end. end.
tz_shift(LocalDateTime, TimezoneFrom, TimezoneTo) ->
FromShift = fmt_shift(tz_shift(LocalDateTime, TimezoneFrom)),
DateTimeTo = localtime:local_to_local(LocalDateTime, TimezoneFrom, TimezoneTo),
ToShift = fmt_shift(tz_shift(DateTimeTo, TimezoneTo)),
fmt_min(ToShift-FromShift).
adjust_datetime(DateTime, Minutes) -> adjust_datetime(DateTime, Minutes) ->
Seconds = calendar:datetime_to_gregorian_seconds(DateTime) + Minutes * 60, Seconds = calendar:datetime_to_gregorian_seconds(DateTime) + Minutes * 60,
calendar:gregorian_seconds_to_datetime(Seconds). calendar:gregorian_seconds_to_datetime(Seconds).
@ -164,6 +171,11 @@ fmt_min(Shift) when Shift < 0 ->
fmt_min(Shift) -> fmt_min(Shift) ->
{'+', Shift div 60, Shift rem 60}. {'+', Shift div 60, Shift rem 60}.
fmt_shift({'+', H, M}) ->
H * 60 + M;
fmt_shift({'-', H, M}) ->
-(H * 60 + M).
get_timezone(TimeZone) -> get_timezone(TimeZone) ->
case dict:find(TimeZone, ?tz_index) of case dict:find(TimeZone, ?tz_index) of
error -> error ->