Last active
August 21, 2018 15:36
-
-
Save zeddee/f05bdf23f260496f76da949e9e87adf9 to your computer and use it in GitHub Desktop.
Quick example where we (1) load a list of locales from json, and (2) print out the time now in those locales.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Get list of timezones from ftp://munnari.oz.au/pub/oldtz/ | |
// ftp://munnari.oz.au/pub/oldtz/tzdata2018d.tar.gz | |
// Locale entries must exist in: | |
// go/1.10.3/libexec/lib/time/zoneinfo.zip | |
package main | |
import ( | |
"encoding/json" | |
"fmt" | |
"io/ioutil" | |
"log" | |
"os" | |
"time" | |
) | |
type tzlist map[string]string | |
func must(err error) { | |
if err != nil { | |
log.Fatal(err) | |
} | |
} | |
func getLocalTime(loc string) time.Time { | |
locale, err := time.LoadLocation(loc) | |
if err != nil { | |
log.Println(err) | |
} | |
return time.Now().In(locale) | |
} | |
func loadtzList() tzlist { | |
var t tzlist | |
var j []byte | |
file, err := os.Open("tz.json") | |
must(err) | |
defer file.Close() | |
j, err = ioutil.ReadAll(file) | |
must(err) | |
err = json.Unmarshal(j, &t) | |
must(err) | |
return t | |
} | |
func main() { | |
list := loadtzList() | |
for _, v := range list { | |
fmt.Printf("%s: %v\n", v, getLocalTime(list[v]).Format("Mon, 02 Jan 2006 03:04 PM MST")) // use something close to RFC 1123 (Mon, 02 Jan 2006 15:04:05 MST) | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"Africa/Abidjan":"Africa/Abidjan", | |
"Africa/Accra":"Africa/Accra", | |
"Africa/Algiers":"Africa/Algiers", | |
"Africa/Bissau":"Africa/Bissau", | |
"Africa/Cairo":"Africa/Cairo", | |
"Africa/Casablanca":"Africa/Casablanca", | |
"Africa/Ceuta":"Africa/Ceuta", | |
"Africa/El_Aaiun":"Africa/El Aaiun", | |
"Africa/Johannesburg":"Africa/Johannesburg", | |
"Africa/Juba":"Africa/Juba", | |
"Africa/Khartoum":"Africa/Khartoum", | |
"Africa/Lagos":"Africa/Lagos", | |
"Africa/Maputo":"Africa/Maputo", | |
"Africa/Monrovia":"Africa/Monrovia", | |
"Africa/Nairobi":"Africa/Nairobi", | |
"Africa/Ndjamena":"Africa/Ndjamena", | |
"Africa/Sao_Tome":"Africa/Sao Tome", | |
"Africa/Tripoli":"Africa/Tripoli", | |
"Africa/Tunis":"Africa/Tunis", | |
"Africa/Windhoek":"Africa/Windhoek", | |
"America/Adak":"America/Adak", | |
"America/Anchorage":"America/Anchorage", | |
"America/Araguaina":"America/Araguaina", | |
"America/Argentina/Buenos_Aires":"America/Argentina/Buenos Aires", | |
"America/Argentina/Catamarca":"America/Argentina/Catamarca", | |
"America/Argentina/Cordoba":"America/Argentina/Cordoba", | |
"America/Argentina/Jujuy":"America/Argentina/Jujuy", | |
"America/Argentina/La_Rioja":"America/Argentina/La Rioja", | |
"America/Argentina/Mendoza":"America/Argentina/Mendoza", | |
"America/Argentina/Rio_Gallegos":"America/Argentina/Rio Gallegos", | |
"America/Argentina/Salta":"America/Argentina/Salta", | |
"America/Argentina/San_Juan":"America/Argentina/San Juan", | |
"America/Argentina/San_Luis":"America/Argentina/San Luis", | |
"America/Argentina/Tucuman":"America/Argentina/Tucuman", | |
"America/Argentina/Ushuaia":"America/Argentina/Ushuaia", | |
"America/Asuncion":"America/Asuncion", | |
"America/Atikokan":"America/Atikokan", | |
"America/Bahia":"America/Bahia", | |
"America/Bahia_Banderas":"America/Bahia Banderas", | |
"America/Barbados":"America/Barbados", | |
"America/Belem":"America/Belem", | |
"America/Belize":"America/Belize", | |
"America/Blanc-Sablon":"America/Blanc-Sablon", | |
"America/Boa_Vista":"America/Boa Vista", | |
"America/Bogota":"America/Bogota", | |
"America/Boise":"America/Boise", | |
"America/Cambridge_Bay":"America/Cambridge Bay", | |
"America/Campo_Grande":"America/Campo Grande", | |
"America/Cancun":"America/Cancun", | |
"America/Caracas":"America/Caracas", | |
"America/Cayenne":"America/Cayenne", | |
"America/Chicago":"America/Chicago", | |
"America/Chihuahua":"America/Chihuahua", | |
"America/Costa_Rica":"America/Costa Rica", | |
"America/Creston":"America/Creston", | |
"America/Cuiaba":"America/Cuiaba", | |
"America/Curacao":"America/Curacao", | |
"America/Danmarkshavn":"America/Danmarkshavn", | |
"America/Dawson":"America/Dawson", | |
"America/Dawson_Creek":"America/Dawson Creek", | |
"America/Denver":"America/Denver", | |
"America/Detroit":"America/Detroit", | |
"America/Edmonton":"America/Edmonton", | |
"America/Eirunepe":"America/Eirunepe", | |
"America/El_Salvador":"America/El Salvador", | |
"America/Fort_Nelson":"America/Fort Nelson", | |
"America/Fortaleza":"America/Fortaleza", | |
"America/Glace_Bay":"America/Glace Bay", | |
"America/Godthab":"America/Godthab", | |
"America/Goose_Bay":"America/Goose Bay", | |
"America/Grand_Turk":"America/Grand Turk", | |
"America/Guatemala":"America/Guatemala", | |
"America/Guayaquil":"America/Guayaquil", | |
"America/Guyana":"America/Guyana", | |
"America/Halifax":"America/Halifax", | |
"America/Havana":"America/Havana", | |
"America/Hermosillo":"America/Hermosillo", | |
"America/Indiana/Indianapolis":"America/Indiana/Indianapolis", | |
"America/Indiana/Knox":"America/Indiana/Knox", | |
"America/Indiana/Marengo":"America/Indiana/Marengo", | |
"America/Indiana/Petersburg":"America/Indiana/Petersburg", | |
"America/Indiana/Tell_City":"America/Indiana/Tell City", | |
"America/Indiana/Vevay":"America/Indiana/Vevay", | |
"America/Indiana/Vincennes":"America/Indiana/Vincennes", | |
"America/Indiana/Winamac":"America/Indiana/Winamac", | |
"America/Inuvik":"America/Inuvik", | |
"America/Iqaluit":"America/Iqaluit", | |
"America/Jamaica":"America/Jamaica", | |
"America/Juneau":"America/Juneau", | |
"America/Kentucky/Louisville":"America/Kentucky/Louisville", | |
"America/Kentucky/Monticello":"America/Kentucky/Monticello", | |
"America/La_Paz":"America/La Paz", | |
"America/Lima":"America/Lima", | |
"America/Los_Angeles":"America/Los Angeles", | |
"America/Maceio":"America/Maceio", | |
"America/Managua":"America/Managua", | |
"America/Manaus":"America/Manaus", | |
"America/Martinique":"America/Martinique", | |
"America/Matamoros":"America/Matamoros", | |
"America/Mazatlan":"America/Mazatlan", | |
"America/Menominee":"America/Menominee", | |
"America/Merida":"America/Merida", | |
"America/Metlakatla":"America/Metlakatla", | |
"America/Mexico_City":"America/Mexico City", | |
"America/Miquelon":"America/Miquelon", | |
"America/Moncton":"America/Moncton", | |
"America/Monterrey":"America/Monterrey", | |
"America/Montevideo":"America/Montevideo", | |
"America/Nassau":"America/Nassau", | |
"America/New_York":"America/New York", | |
"America/Nipigon":"America/Nipigon", | |
"America/Nome":"America/Nome", | |
"America/Noronha":"America/Noronha", | |
"America/North_Dakota/Beulah":"America/North Dakota/Beulah", | |
"America/North_Dakota/Center":"America/North Dakota/Center", | |
"America/North_Dakota/New_Salem":"America/North Dakota/New Salem", | |
"America/Ojinaga":"America/Ojinaga", | |
"America/Panama":"America/Panama", | |
"America/Pangnirtung":"America/Pangnirtung", | |
"America/Paramaribo":"America/Paramaribo", | |
"America/Phoenix":"America/Phoenix", | |
"America/Port-au-Prince":"America/Port-au-Prince", | |
"America/Port_of_Spain":"America/Port of Spain", | |
"America/Porto_Velho":"America/Porto Velho", | |
"America/Puerto_Rico":"America/Puerto Rico", | |
"America/Punta_Arenas":"America/Punta Arenas", | |
"America/Rainy_River":"America/Rainy River", | |
"America/Rankin_Inlet":"America/Rankin Inlet", | |
"America/Recife":"America/Recife", | |
"America/Regina":"America/Regina", | |
"America/Resolute":"America/Resolute", | |
"America/Rio_Branco":"America/Rio Branco", | |
"America/Santarem":"America/Santarem", | |
"America/Santiago":"America/Santiago", | |
"America/Santo_Domingo":"America/Santo Domingo", | |
"America/Sao_Paulo":"America/Sao Paulo", | |
"America/Scoresbysund":"America/Scoresbysund", | |
"America/Sitka":"America/Sitka", | |
"America/St_Johns":"America/St Johns", | |
"America/Swift_Current":"America/Swift Current", | |
"America/Tegucigalpa":"America/Tegucigalpa", | |
"America/Thule":"America/Thule", | |
"America/Thunder_Bay":"America/Thunder Bay", | |
"America/Tijuana":"America/Tijuana", | |
"America/Toronto":"America/Toronto", | |
"America/Vancouver":"America/Vancouver", | |
"America/Whitehorse":"America/Whitehorse", | |
"America/Winnipeg":"America/Winnipeg", | |
"America/Yakutat":"America/Yakutat", | |
"America/Yellowknife":"America/Yellowknife", | |
"Antarctica/Casey":"Antarctica/Casey", | |
"Antarctica/Davis":"Antarctica/Davis", | |
"Antarctica/DumontDUrville":"Antarctica/DumontDUrville", | |
"Antarctica/Macquarie":"Antarctica/Macquarie", | |
"Antarctica/Mawson":"Antarctica/Mawson", | |
"Antarctica/Palmer":"Antarctica/Palmer", | |
"Antarctica/Rothera":"Antarctica/Rothera", | |
"Antarctica/Syowa":"Antarctica/Syowa", | |
"Antarctica/Troll":"Antarctica/Troll", | |
"Antarctica/Vostok":"Antarctica/Vostok", | |
"Asia/Almaty":"Asia/Almaty", | |
"Asia/Amman":"Asia/Amman", | |
"Asia/Anadyr":"Asia/Anadyr", | |
"Asia/Aqtau":"Asia/Aqtau", | |
"Asia/Aqtobe":"Asia/Aqtobe", | |
"Asia/Ashgabat":"Asia/Ashgabat", | |
"Asia/Atyrau":"Asia/Atyrau", | |
"Asia/Baghdad":"Asia/Baghdad", | |
"Asia/Baku":"Asia/Baku", | |
"Asia/Bangkok":"Asia/Bangkok", | |
"Asia/Barnaul":"Asia/Barnaul", | |
"Asia/Beirut":"Asia/Beirut", | |
"Asia/Bishkek":"Asia/Bishkek", | |
"Asia/Brunei":"Asia/Brunei", | |
"Asia/Chita":"Asia/Chita", | |
"Asia/Choibalsan":"Asia/Choibalsan", | |
"Asia/Colombo":"Asia/Colombo", | |
"Asia/Damascus":"Asia/Damascus", | |
"Asia/Dhaka":"Asia/Dhaka", | |
"Asia/Dili":"Asia/Dili", | |
"Asia/Dubai":"Asia/Dubai", | |
"Asia/Dushanbe":"Asia/Dushanbe", | |
"Asia/Famagusta":"Asia/Famagusta", | |
"Asia/Gaza":"Asia/Gaza", | |
"Asia/Hebron":"Asia/Hebron", | |
"Asia/Ho_Chi_Minh":"Asia/Ho Chi Minh", | |
"Asia/Hong_Kong":"Asia/Hong Kong", | |
"Asia/Hovd":"Asia/Hovd", | |
"Asia/Irkutsk":"Asia/Irkutsk", | |
"Asia/Jakarta":"Asia/Jakarta", | |
"Asia/Jayapura":"Asia/Jayapura", | |
"Asia/Jerusalem":"Asia/Jerusalem", | |
"Asia/Kabul":"Asia/Kabul", | |
"Asia/Kamchatka":"Asia/Kamchatka", | |
"Asia/Karachi":"Asia/Karachi", | |
"Asia/Kathmandu":"Asia/Kathmandu", | |
"Asia/Khandyga":"Asia/Khandyga", | |
"Asia/Kolkata":"Asia/Kolkata", | |
"Asia/Krasnoyarsk":"Asia/Krasnoyarsk", | |
"Asia/Kuala_Lumpur":"Asia/Kuala Lumpur", | |
"Asia/Kuching":"Asia/Kuching", | |
"Asia/Macau":"Asia/Macau", | |
"Asia/Magadan":"Asia/Magadan", | |
"Asia/Makassar":"Asia/Makassar", | |
"Asia/Manila":"Asia/Manila", | |
"Asia/Nicosia":"Asia/Nicosia", | |
"Asia/Novokuznetsk":"Asia/Novokuznetsk", | |
"Asia/Novosibirsk":"Asia/Novosibirsk", | |
"Asia/Omsk":"Asia/Omsk", | |
"Asia/Oral":"Asia/Oral", | |
"Asia/Pontianak":"Asia/Pontianak", | |
"Asia/Pyongyang":"Asia/Pyongyang", | |
"Asia/Qatar":"Asia/Qatar", | |
"Asia/Qyzylorda":"Asia/Qyzylorda", | |
"Asia/Riyadh":"Asia/Riyadh", | |
"Asia/Sakhalin":"Asia/Sakhalin", | |
"Asia/Samarkand":"Asia/Samarkand", | |
"Asia/Seoul":"Asia/Seoul", | |
"Asia/Shanghai":"Asia/Shanghai", | |
"Asia/Singapore":"Asia/Singapore", | |
"Asia/Srednekolymsk":"Asia/Srednekolymsk", | |
"Asia/Taipei":"Asia/Taipei", | |
"Asia/Tashkent":"Asia/Tashkent", | |
"Asia/Tbilisi":"Asia/Tbilisi", | |
"Asia/Tehran":"Asia/Tehran", | |
"Asia/Thimphu":"Asia/Thimphu", | |
"Asia/Tokyo":"Asia/Tokyo", | |
"Asia/Tomsk":"Asia/Tomsk", | |
"Asia/Ulaanbaatar":"Asia/Ulaanbaatar", | |
"Asia/Urumqi":"Asia/Urumqi", | |
"Asia/Ust-Nera":"Asia/Ust-Nera", | |
"Asia/Vladivostok":"Asia/Vladivostok", | |
"Asia/Yakutsk":"Asia/Yakutsk", | |
"Asia/Yangon":"Asia/Yangon", | |
"Asia/Yekaterinburg":"Asia/Yekaterinburg", | |
"Asia/Yerevan":"Asia/Yerevan", | |
"Atlantic/Azores":"Atlantic/Azores", | |
"Atlantic/Bermuda":"Atlantic/Bermuda", | |
"Atlantic/Canary":"Atlantic/Canary", | |
"Atlantic/Cape_Verde":"Atlantic/Cape Verde", | |
"Atlantic/Faroe":"Atlantic/Faroe", | |
"Atlantic/Madeira":"Atlantic/Madeira", | |
"Atlantic/Reykjavik":"Atlantic/Reykjavik", | |
"Atlantic/South_Georgia":"Atlantic/South Georgia", | |
"Atlantic/Stanley":"Atlantic/Stanley", | |
"Australia/Adelaide":"Australia/Adelaide", | |
"Australia/Brisbane":"Australia/Brisbane", | |
"Australia/Broken_Hill":"Australia/Broken Hill", | |
"Australia/Currie":"Australia/Currie", | |
"Australia/Darwin":"Australia/Darwin", | |
"Australia/Eucla":"Australia/Eucla", | |
"Australia/Hobart":"Australia/Hobart", | |
"Australia/Lindeman":"Australia/Lindeman", | |
"Australia/Lord_Howe":"Australia/Lord Howe", | |
"Australia/Melbourne":"Australia/Melbourne", | |
"Australia/Perth":"Australia/Perth", | |
"Australia/Sydney":"Australia/Sydney", | |
"Europe/Amsterdam":"Europe/Amsterdam", | |
"Europe/Andorra":"Europe/Andorra", | |
"Europe/Astrakhan":"Europe/Astrakhan", | |
"Europe/Athens":"Europe/Athens", | |
"Europe/Belgrade":"Europe/Belgrade", | |
"Europe/Berlin":"Europe/Berlin", | |
"Europe/Brussels":"Europe/Brussels", | |
"Europe/Bucharest":"Europe/Bucharest", | |
"Europe/Budapest":"Europe/Budapest", | |
"Europe/Chisinau":"Europe/Chisinau", | |
"Europe/Copenhagen":"Europe/Copenhagen", | |
"Europe/Dublin":"Europe/Dublin", | |
"Europe/Gibraltar":"Europe/Gibraltar", | |
"Europe/Helsinki":"Europe/Helsinki", | |
"Europe/Istanbul":"Europe/Istanbul", | |
"Europe/Kaliningrad":"Europe/Kaliningrad", | |
"Europe/Kiev":"Europe/Kiev", | |
"Europe/Kirov":"Europe/Kirov", | |
"Europe/Lisbon":"Europe/Lisbon", | |
"Europe/London":"Europe/London", | |
"Europe/Luxembourg":"Europe/Luxembourg", | |
"Europe/Madrid":"Europe/Madrid", | |
"Europe/Malta":"Europe/Malta", | |
"Europe/Minsk":"Europe/Minsk", | |
"Europe/Monaco":"Europe/Monaco", | |
"Europe/Moscow":"Europe/Moscow", | |
"Europe/Oslo":"Europe/Oslo", | |
"Europe/Paris":"Europe/Paris", | |
"Europe/Prague":"Europe/Prague", | |
"Europe/Riga":"Europe/Riga", | |
"Europe/Rome":"Europe/Rome", | |
"Europe/Samara":"Europe/Samara", | |
"Europe/Saratov":"Europe/Saratov", | |
"Europe/Simferopol":"Europe/Simferopol", | |
"Europe/Sofia":"Europe/Sofia", | |
"Europe/Stockholm":"Europe/Stockholm", | |
"Europe/Tallinn":"Europe/Tallinn", | |
"Europe/Tirane":"Europe/Tirane", | |
"Europe/Ulyanovsk":"Europe/Ulyanovsk", | |
"Europe/Uzhgorod":"Europe/Uzhgorod", | |
"Europe/Vienna":"Europe/Vienna", | |
"Europe/Vilnius":"Europe/Vilnius", | |
"Europe/Volgograd":"Europe/Volgograd", | |
"Europe/Warsaw":"Europe/Warsaw", | |
"Europe/Zaporozhye":"Europe/Zaporozhye", | |
"Europe/Zurich":"Europe/Zurich", | |
"Indian/Chagos":"Indian/Chagos", | |
"Indian/Christmas":"Indian/Christmas", | |
"Indian/Cocos":"Indian/Cocos", | |
"Indian/Kerguelen":"Indian/Kerguelen", | |
"Indian/Mahe":"Indian/Mahe", | |
"Indian/Maldives":"Indian/Maldives", | |
"Indian/Mauritius":"Indian/Mauritius", | |
"Indian/Reunion":"Indian/Reunion", | |
"Pacific/Apia":"Pacific/Apia", | |
"Pacific/Auckland":"Pacific/Auckland", | |
"Pacific/Bougainville":"Pacific/Bougainville", | |
"Pacific/Chatham":"Pacific/Chatham", | |
"Pacific/Chuuk":"Pacific/Chuuk", | |
"Pacific/Easter":"Pacific/Easter", | |
"Pacific/Efate":"Pacific/Efate", | |
"Pacific/Enderbury":"Pacific/Enderbury", | |
"Pacific/Fakaofo":"Pacific/Fakaofo", | |
"Pacific/Fiji":"Pacific/Fiji", | |
"Pacific/Funafuti":"Pacific/Funafuti", | |
"Pacific/Galapagos":"Pacific/Galapagos", | |
"Pacific/Gambier":"Pacific/Gambier", | |
"Pacific/Guadalcanal":"Pacific/Guadalcanal", | |
"Pacific/Guam":"Pacific/Guam", | |
"Pacific/Honolulu":"Pacific/Honolulu", | |
"Pacific/Kiritimati":"Pacific/Kiritimati", | |
"Pacific/Kosrae":"Pacific/Kosrae", | |
"Pacific/Kwajalein":"Pacific/Kwajalein", | |
"Pacific/Majuro":"Pacific/Majuro", | |
"Pacific/Marquesas":"Pacific/Marquesas", | |
"Pacific/Nauru":"Pacific/Nauru", | |
"Pacific/Niue":"Pacific/Niue", | |
"Pacific/Norfolk":"Pacific/Norfolk", | |
"Pacific/Noumea":"Pacific/Noumea", | |
"Pacific/Pago_Pago":"Pacific/Pago Pago", | |
"Pacific/Palau":"Pacific/Palau", | |
"Pacific/Pitcairn":"Pacific/Pitcairn", | |
"Pacific/Pohnpei":"Pacific/Pohnpei", | |
"Pacific/Port_Moresby":"Pacific/Port Moresby", | |
"Pacific/Rarotonga":"Pacific/Rarotonga", | |
"Pacific/Tahiti":"Pacific/Tahiti", | |
"Pacific/Tarawa":"Pacific/Tarawa", | |
"Pacific/Tongatapu":"Pacific/Tongatapu", | |
"Pacific/Wake":"Pacific/Wake", | |
"Pacific/Wallis":"Pacific/Wallis" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment