Created
July 12, 2014 00:43
-
-
Save enjalot/64b33b472e145b2a5fcd to your computer and use it in GitHub Desktop.
rendering timezones in derby
This file contains 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
MONTH_NAMES = [ | |
'January', 'February', 'March', 'April', 'May', 'June', | |
'July', 'August', 'September', 'October', 'November', 'December' | |
] | |
moment = (input, format, lang, strict) -> | |
moment = require 'moment-timezone' | |
return moment input, format, lang, strict | |
formats = | |
'default': 'h:mma M/DD/YY' # 3:15pm 8/2/2012 | |
'timeDayDate': 'h:mma, ddd M/DD/YY' # 3:15pm, Thu 8/2/2012 | |
'date': 'MMM D, YYYY' # Aug 2, 2013 | |
'compactDate': 'M/DD/YY' # 6/11/85 | |
'compactDateOrToday': 'M/DD/YY' # 6/11/85 | |
'dayDate': 'ddd, M/DD/YY' # Fri 8/2/12 | |
'day': 'ddd' | |
'time': 'h:mm a' # 3:15 pm | |
'monthDay': 'MMM D' # Aug 2 | |
'monthDayTime': 'MMM D, h:mm a' # Aug 2, 20:15 PST | |
'compactDateWithDay': 'ddd M/DD/YY' | |
'relative': true | |
'compactDateTime': 'M/DD/YY ⋅ h:mm A' | |
'calendar': true | |
exports.moment = (input, format, lang, strict) -> | |
return moment input, format, lang, strict | |
exports.format = (ms, timezoneName = "America/Los_Angeles", pattern = 'default') -> | |
return unless ms | |
if pattern == 'relative' | |
return moment(ms).fromNow(false) | |
else if pattern == 'calendar' | |
return moment(ms).tz(timezoneName).calendar() | |
else | |
if pattern =='compactDateOrToday' && moment(ms).tz(timezoneName).dayOfYear() == moment().tz(timezoneName).dayOfYear() | |
return 'Today' | |
else | |
return moment(ms).tz(timezoneName).format(formats[pattern] || pattern) | |
# Returns a time range, duration is in minutes | |
exports.range = (ms, duration, timezoneName = "America/Los_Angeles") -> | |
return unless ms && duration | |
startA = moment(ms).tz(timezoneName).format('a') | |
endA = moment(ms).tz(timezoneName).format('a') | |
startMoment = moment(ms).tz(timezoneName) | |
duration = duration * 60 * 1000 | |
endMoment = moment(ms + duration).tz(timezoneName) | |
if startA == endA | |
start = startMoment.format('h:mm') | |
end = endMoment.format('h:mm a') | |
else | |
start = startMoment.format('h:mm a') | |
end = endMoment.format('h:mm a') | |
return start + ' - ' + end | |
# Timezone calculations are extremely CPU intensive the first time. It is very | |
# important that we cache these calculations at build time and don't do them | |
# on server start or page load | |
try | |
timezoneOptions = require './timezoneOptions.json' | |
catch err | |
timezoneOptions = require './timezoneSource.json' | |
for option in timezoneOptions | |
option.gmt = moment().tz(option.value).format('Z') | |
timezoneOptions.sort (a, b) -> | |
diff = moment().tz(b.value).zone() - moment().tz(a.value).zone() | |
return diff if diff | |
aName = a.name.toLowerCase() | |
bName = b.name.toLowerCase() | |
return 1 if aName > bName | |
return -1 if aName < bName | |
return 0 | |
data = JSON.stringify timezoneOptions, null, 2 | |
require('fs').writeFileSync __dirname + '/timezoneOptions.json', data | |
exports.timezoneOptions = timezoneOptions | |
timezoneMap = {} | |
for option in timezoneOptions | |
option.text = 'GMT ' + option.gmt + ' - ' + option.name | |
option.display = option.name + ' (GMT ' + option.gmt + ')' | |
timezoneMap[option.value] = option | |
exports.displayTimezone = (value) -> | |
return timezoneMap[value]?.display | |
exports.displayTimezoneAbbreviation = (value) -> | |
return timezoneMap[value]?.abbreviation | |
exports.displayTimezoneCompact = (value) -> | |
return timezoneMap[value]?.name | |
exports.sparseDateRange = (startDate, endDate) -> | |
return unless startDate?.year | |
duration = sparseDuration(startDate, endDate) | |
duration = ' (' + duration + ')' if duration | |
start = formatSparseDate startDate | |
return start + ' to Present' + duration unless endDate?.year | |
end = formatSparseDate endDate | |
return start + ' to ' + end + duration | |
exports.sparseDuration = sparseDuration = (startDate, endDate) -> | |
unless endDate?.year | |
now = new Date | |
endDate = | |
month: now.getMonth() | |
year: now.getFullYear() | |
months = (endDate.year - startDate.year) * 12 + (endDate.month || 0) - startDate.month + 1 | |
months = Math.max months, 0 | |
years = Math.floor months / 12 | |
months = months % 12 | |
out = [] | |
if years then out.push years + ' ' + pluralize(years, 'year', 'years') | |
if months then out.push months + ' ' + pluralize(months, 'month', 'months') | |
return out.join ' ' | |
formatSparseDate = (sparseDate) -> | |
month = MONTH_NAMES[sparseDate.month] | |
return if month then month + ' ' + sparseDate.year else sparseDate.year | |
pluralize = (num, singular, plural) -> | |
if num is 1 then singular else plural |
This file contains 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
[ | |
{"value": "Africa/Abidjan", "name": "Abidjan", "abbreviation": "GMT"}, | |
{"value": "Africa/Accra", "name": "Accra", "abbreviation": "GMT"}, | |
{"value": "Africa/Addis_Ababa", "name": "Addis Ababa", "abbreviation": "EAT"}, | |
{"value": "Africa/Algiers", "name": "Algiers", "abbreviation": "CET"}, | |
{"value": "Africa/Asmara", "name": "Asmera", "abbreviation": "EAT"}, | |
{"value": "Africa/Bamako", "name": "Bamako", "abbreviation": "GMT"}, | |
{"value": "Africa/Bangui", "name": "Bangui", "abbreviation": "WAT"}, | |
{"value": "Africa/Banjul", "name": "Banjul", "abbreviation": "GMT"}, | |
{"value": "Africa/Bissau", "name": "Bissau", "abbreviation": "GMT"}, | |
{"value": "Africa/Blantyre", "name": "Blantyre", "abbreviation": "CAT"}, | |
{"value": "Africa/Brazzaville", "name": "Brazzaville", "abbreviation": "WAT"}, | |
{"value": "Africa/Bujumbura", "name": "Bujumbura", "abbreviation": "CAT"}, | |
{"value": "Africa/Cairo", "name": "Cairo", "abbreviation": "EET"}, | |
{"value": "Africa/Casablanca", "name": "Casablanca", "abbreviation": "WET"}, | |
{"value": "Africa/Ceuta", "name": "Ceuta", "abbreviation": "CEST"}, | |
{"value": "Africa/Conakry", "name": "Conakry", "abbreviation": "GMT"}, | |
{"value": "Africa/Dakar", "name": "Dakar", "abbreviation": "GMT"}, | |
{"value": "Africa/Dar_es_Salaam", "name": "Dar es Salaam", "abbreviation": "EAT"}, | |
{"value": "Africa/Djibouti", "name": "Djibouti", "abbreviation": "EAT"}, | |
{"value": "Africa/Douala", "name": "Douala", "abbreviation": "WAT"}, | |
{"value": "Africa/El_Aaiun", "name": "El Aaiun", "abbreviation": "WET"}, | |
{"value": "Africa/Freetown", "name": "Freetown", "abbreviation": "GMT"}, | |
{"value": "Africa/Gaborone", "name": "Gaborone", "abbreviation": "CAT"}, | |
{"value": "Africa/Harare", "name": "Harare", "abbreviation": "CAT"}, | |
{"value": "Africa/Johannesburg", "name": "Johannesburg", "abbreviation": "SAST"}, | |
{"value": "Africa/Kampala", "name": "Kampala", "abbreviation": "EAT"}, | |
{"value": "Africa/Khartoum", "name": "Khartoum", "abbreviation": "EAT"}, | |
{"value": "Africa/Kigali", "name": "Kigali", "abbreviation": "CAT"}, | |
{"value": "Africa/Kinshasa", "name": "Kinshasa", "abbreviation": "WAT"}, | |
{"value": "Africa/Lagos", "name": "Lagos", "abbreviation": "WAT"}, | |
{"value": "Africa/Libreville", "name": "Libreville", "abbreviation": "WAT"}, | |
{"value": "Africa/Lome", "name": "Lome", "abbreviation": "GMT"}, | |
{"value": "Africa/Luanda", "name": "Luanda", "abbreviation": "WAT"}, | |
{"value": "Africa/Lubumbashi", "name": "Lubumbashi", "abbreviation": "CAT"}, | |
{"value": "Africa/Lusaka", "name": "Lusaka", "abbreviation": "CAT"}, | |
{"value": "Africa/Malabo", "name": "Malabo", "abbreviation": "WAT"}, | |
{"value": "Africa/Maputo", "name": "Maputo", "abbreviation": "CAT"}, | |
{"value": "Africa/Maseru", "name": "Maseru", "abbreviation": "SAST"}, | |
{"value": "Africa/Mbabane", "name": "Mbabane", "abbreviation": "SAST"}, | |
{"value": "Africa/Mogadishu", "name": "Mogadishu", "abbreviation": "EAT"}, | |
{"value": "Africa/Monrovia", "name": "Monrovia", "abbreviation": "GMT"}, | |
{"value": "Africa/Nairobi", "name": "Nairobi", "abbreviation": "EAT"}, | |
{"value": "Africa/Ndjamena", "name": "Ndjamena", "abbreviation": "WAT"}, | |
{"value": "Africa/Niamey", "name": "Niamey", "abbreviation": "WAT"}, | |
{"value": "Africa/Nouakchott", "name": "Nouakchott", "abbreviation": "GMT"}, | |
{"value": "Africa/Ouagadougou", "name": "Ouagadougou", "abbreviation": "GMT"}, | |
{"value": "Africa/Porto-Novo", "name": "Porto-Novo", "abbreviation": "WAT"}, | |
{"value": "Africa/Sao_Tome", "name": "Sao Tome", "abbreviation": "GMT"}, | |
{"value": "Africa/Tripoli", "name": "Tripoli", "abbreviation": "CEST"}, | |
{"value": "Africa/Tunis", "name": "Tunis", "abbreviation": "CET"}, | |
{"value": "Africa/Windhoek", "name": "Windhoek", "abbreviation": "WAST"}, | |
{"value": "America/Anchorage", "name": "Alaska Time", "abbreviation": "AKST"}, | |
{"value": "America/Antigua", "name": "Antigua", "abbreviation": "AST"}, | |
{"value": "America/Araguaina", "name": "Araguaina", "abbreviation": "BRT"}, | |
{"value": "America/Argentina/Buenos_Aires", "name": "Buenos Aires", "abbreviation": "ART"}, | |
{"value": "America/Asuncion", "name": "Asuncion", "abbreviation": "PYT"}, | |
{"value": "America/Bahia", "name": "Salvador", "abbreviation": "BRT"}, | |
{"value": "America/Barbados", "name": "Barbados", "abbreviation": "AST"}, | |
{"value": "America/Belem", "name": "Belem", "abbreviation": "BRT"}, | |
{"value": "America/Belize", "name": "Belize", "abbreviation": "CST"}, | |
{"value": "America/Boa_Vista", "name": "Boa Vista", "abbreviation": "AMT"}, | |
{"value": "America/Bogota", "name": "Bogota", "abbreviation": "COT"}, | |
{"value": "America/Campo_Grande", "name": "Campo Grande", "abbreviation": "AMT"}, | |
{"value": "America/Caracas", "name": "Caracas", "abbreviation": "VET"}, | |
{"value": "America/Cayenne", "name": "Cayenne", "abbreviation": "GFT"}, | |
{"value": "America/Cayman", "name": "Cayman", "abbreviation": "EST"}, | |
{"value": "America/Chicago", "name": "Central Time", "abbreviation": "CST", "abbreviation": "CST"}, | |
{"value": "America/Costa_Rica", "name": "Costa Rica", "abbreviation": "CST"}, | |
{"value": "America/Cuiaba", "name": "Cuiaba", "abbreviation": "AMT"}, | |
{"value": "America/Curacao", "name": "Curacao", "abbreviation": "AST"}, | |
{"value": "America/Danmarkshavn", "name": "Danmarkshavn", "abbreviation": "GMT"}, | |
{"value": "America/Dawson_Creek", "name": "Mountain Time - Dawson Creek", "abbreviation": "MST"}, | |
{"value": "America/Denver", "name": "Mountain Time", "abbreviation": "MST", "abbreviation": "MST"}, | |
{"value": "America/Edmonton", "name": "Mountain Time - Edmonton", "abbreviation": "MST"}, | |
{"value": "America/El_Salvador", "name": "El Salvador", "abbreviation": "CST"}, | |
{"value": "America/Fortaleza", "name": "Fortaleza", "abbreviation": "BRT"}, | |
{"value": "America/Godthab", "name": "Godthab", "abbreviation": "WGST"}, | |
{"value": "America/Grand_Turk", "name": "Grand Turk", "abbreviation": "EST"}, | |
{"value": "America/Guatemala", "name": "Guatemala", "abbreviation": "CST"}, | |
{"value": "America/Guayaquil", "name": "Guayaquil", "abbreviation": "ECT"}, | |
{"value": "America/Guyana", "name": "Guyana", "abbreviation": "GYT"}, | |
{"value": "America/Halifax", "name": "Atlantic Time - Halifax", "abbreviation": "AST"}, | |
{"value": "America/Havana", "name": "Havana", "abbreviation": "CST"}, | |
{"value": "America/Hermosillo", "name": "Mountain Time - Hermosillo", "abbreviation": "MST"}, | |
{"value": "America/Iqaluit", "name": "Eastern Time - Iqaluit", "abbreviation": "EST"}, | |
{"value": "America/Jamaica", "name": "Jamaica", "abbreviation": "EST"}, | |
{"value": "America/La_Paz", "name": "La Paz", "abbreviation": "BOT"}, | |
{"value": "America/Lima", "name": "Lima", "abbreviation": "PET"}, | |
{"value": "America/Los_Angeles", "name": "Pacific Time", "abbreviation": "PST", "abbreviation": "PST"}, | |
{"value": "America/Maceio", "name": "Maceio", "abbreviation": "BRT"}, | |
{"value": "America/Managua", "name": "Managua", "abbreviation": "CST"}, | |
{"value": "America/Manaus", "name": "Manaus", "abbreviation": "AMT"}, | |
{"value": "America/Martinique", "name": "Martinique", "abbreviation": "AST"}, | |
{"value": "America/Mazatlan", "name": "Mountain Time - Chihuahua, Mazatlan", "abbreviation": "MST"}, | |
{"value": "America/Mexico_City", "name": "Central Time - Mexico City", "abbreviation": "CST"}, | |
{"value": "America/Miquelon", "name": "Miquelon", "abbreviation": "PMST"}, | |
{"value": "America/Montevideo", "name": "Montevideo", "abbreviation": "UYT"}, | |
{"value": "America/Montreal", "name": "Eastern Time - Montreal", "abbreviation": "EST"}, | |
{"value": "America/Nassau", "name": "Nassau", "abbreviation": "EST"}, | |
{"value": "America/New_York", "name": "Eastern Time", "abbreviation": "EST", "abbreviation": "EST"}, | |
{"value": "America/Noronha", "name": "Noronha", "abbreviation": "FNT"}, | |
{"value": "America/Panama", "name": "Panama", "abbreviation": "EST"}, | |
{"value": "America/Paramaribo", "name": "Paramaribo", "abbreviation": "SRT"}, | |
{"value": "America/Phoenix", "name": "Mountain Time - Arizona", "abbreviation": "MST"}, | |
{"value": "America/Port_of_Spain", "name": "Port of Spain", "abbreviation": "AST"}, | |
{"value": "America/Port-au-Prince", "name": "Port-au-Prince", "abbreviation": "EST"}, | |
{"value": "America/Porto_Velho", "name": "Porto Velho", "abbreviation": "AMT"}, | |
{"value": "America/Puerto_Rico", "name": "Puerto Rico", "abbreviation": "AST"}, | |
{"value": "America/Recife", "name": "Recife", "abbreviation": "BRT"}, | |
{"value": "America/Regina", "name": "Central Time - Regina", "abbreviation": "CST"}, | |
{"value": "America/Rio_Branco", "name": "Rio Branco", "abbreviation": "AMT"}, | |
{"value": "America/Santiago", "name": "Santiago", "abbreviation": "CLST"}, | |
{"value": "America/Santo_Domingo", "name": "Santo Domingo", "abbreviation": "AST"}, | |
{"value": "America/Sao_Paulo", "name": "Sao Paulo", "abbreviation": "BRT"}, | |
{"value": "America/Scoresbysund", "name": "Scoresbysund", "abbreviation": "EGST"}, | |
{"value": "America/St_Johns", "name": "Newfoundland Time - St. Johns", "abbreviation": "NST"}, | |
{"value": "America/Tegucigalpa", "name": "Central Time - Tegucigalpa", "abbreviation": "CST"}, | |
{"value": "America/Thule", "name": "Thule", "abbreviation": "AST"}, | |
{"value": "America/Tijuana", "name": "Pacific Time - Tijuana", "abbreviation": "PST"}, | |
{"value": "America/Toronto", "name": "Eastern Time - Toronto", "abbreviation": "EST"}, | |
{"value": "America/Vancouver", "name": "Pacific Time - Vancouver", "abbreviation": "PST"}, | |
{"value": "America/Whitehorse", "name": "Pacific Time - Whitehorse", "abbreviation": "PST"}, | |
{"value": "America/Winnipeg", "name": "Central Time - Winnipeg", "abbreviation": "CST"}, | |
{"value": "America/Yellowknife", "name": "Mountain Time - Yellowknife", "abbreviation": "MST"}, | |
{"value": "Antarctica/Casey", "name": "Casey", "abbreviation": "WST"}, | |
{"value": "Antarctica/Davis", "name": "Davis", "abbreviation": "DAVT"}, | |
{"value": "Antarctica/DumontDUrville", "name": "Dumont D'Urville", "abbreviation": "DDUT"}, | |
{"value": "Antarctica/Mawson", "name": "Mawson", "abbreviation": "MAWT"}, | |
{"value": "Antarctica/Palmer", "name": "Palmer", "abbreviation": "CLST"}, | |
{"value": "Antarctica/Rothera", "name": "Rothera", "abbreviation": "ROTT"}, | |
{"value": "Antarctica/Syowa", "name": "Syowa", "abbreviation": "SYOT"}, | |
{"value": "Antarctica/Vostok", "name": "Vostok", "abbreviation": "VOST"}, | |
{"value": "Asia/Aden", "name": "Aden", "abbreviation": "AST"}, | |
{"value": "Asia/Almaty", "name": "Almaty", "abbreviation": "ALMT"}, | |
{"value": "Asia/Amman", "name": "Amman", "abbreviation": "EEST"}, | |
{"value": "Asia/Aqtau", "name": "Aqtau", "abbreviation": "AQTT"}, | |
{"value": "Asia/Aqtobe", "name": "Aqtobe", "abbreviation": "AQTT"}, | |
{"value": "Asia/Ashgabat", "name": "Ashgabat", "abbreviation": "TMT"}, | |
{"value": "Asia/Baghdad", "name": "Baghdad", "abbreviation": "AST"}, | |
{"value": "Asia/Bahrain", "name": "Bahrain", "abbreviation": "AST"}, | |
{"value": "Asia/Baku", "name": "Baku", "abbreviation": "AZST"}, | |
{"value": "Asia/Bangkok", "name": "Bangkok", "abbreviation": "ICT"}, | |
{"value": "Asia/Beirut", "name": "Beirut", "abbreviation": "EEST"}, | |
{"value": "Asia/Bishkek", "name": "Bishkek", "abbreviation": "KGT"}, | |
{"value": "Asia/Brunei", "name": "Brunei", "abbreviation": "BNT"}, | |
{"value": "Asia/Calcutta", "name": "India Standard Time", "abbreviation": "IST"}, | |
{"value": "Asia/Choibalsan", "name": "Choibalsan", "abbreviation": "CHOT"}, | |
{"value": "Asia/Colombo", "name": "Colombo", "abbreviation": "IST"}, | |
{"value": "Asia/Damascus", "name": "Damascus", "abbreviation": "EEST"}, | |
{"value": "Asia/Dhaka", "name": "Dhaka", "abbreviation": "BDT"}, | |
{"value": "Asia/Dili", "name": "Dili", "abbreviation": "TLT"}, | |
{"value": "Asia/Dubai", "name": "Dubai", "abbreviation": "GST"}, | |
{"value": "Asia/Dushanbe", "name": "Dushanbe", "abbreviation": "TJT"}, | |
{"value": "Asia/Gaza", "name": "Gaza", "abbreviation": "EEST"}, | |
{"value": "Asia/Hong_Kong", "name": "Hong Kong", "abbreviation": "HKT"}, | |
{"value": "Asia/Hovd", "name": "Hovd", "abbreviation": "HOVT"}, | |
{"value": "Asia/Irkutsk", "name": "Moscow+05 - Irkutsk", "abbreviation": "IRKT"}, | |
{"value": "Asia/Jakarta", "name": "Jakarta", "abbreviation": "WIT"}, | |
{"value": "Asia/Jayapura", "name": "Jayapura", "abbreviation": "EIT"}, | |
{"value": "Asia/Jerusalem", "name": "Jerusalem", "abbreviation": "IST"}, | |
{"value": "Asia/Kabul", "name": "Kabul", "abbreviation": "AFT"}, | |
{"value": "Asia/Kamchatka", "name": "Moscow+08 - Petropavlovsk-Kamchatskiy", "abbreviation": "PETT"}, | |
{"value": "Asia/Karachi", "name": "Karachi", "abbreviation": "PKT"}, | |
{"value": "Asia/Katmandu", "name": "Katmandu", "abbreviation": "NPT"}, | |
{"value": "Asia/Krasnoyarsk", "name": "Moscow+04 - Krasnoyarsk", "abbreviation": "KRAT"}, | |
{"value": "Asia/Kuala_Lumpur", "name": "Kuala Lumpur", "abbreviation": "MYT"}, | |
{"value": "Asia/Kuwait", "name": "Kuwait", "abbreviation": "AST"}, | |
{"value": "Asia/Macau", "name": "Macau", "abbreviation": "CST"}, | |
{"value": "Asia/Magadan", "name": "Moscow+08 - Magadan", "abbreviation": "MAGT"}, | |
{"value": "Asia/Makassar", "name": "Makassar", "abbreviation": "CIT"}, | |
{"value": "Asia/Manila", "name": "Manila", "abbreviation": "PHT"}, | |
{"value": "Asia/Muscat", "name": "Muscat", "abbreviation": "GST"}, | |
{"value": "Asia/Nicosia", "name": "Nicosia", "abbreviation": "EEST"}, | |
{"value": "Asia/Omsk", "name": "Moscow+03 - Omsk, Novosibirsk", "abbreviation": "OMST"}, | |
{"value": "Asia/Phnom_Penh", "name": "Phnom Penh", "abbreviation": "ICT"}, | |
{"value": "Asia/Pyongyang", "name": "Pyongyang", "abbreviation": "KST"}, | |
{"value": "Asia/Qatar", "name": "Qatar", "abbreviation": "AST"}, | |
{"value": "Asia/Rangoon", "name": "Rangoon", "abbreviation": "MMT"}, | |
{"value": "Asia/Riyadh", "name": "Riyadh", "abbreviation": "AST"}, | |
{"value": "Asia/Saigon", "name": "Hanoi", "abbreviation": "ICT"}, | |
{"value": "Asia/Seoul", "name": "Seoul", "abbreviation": "KST"}, | |
{"value": "Asia/Shanghai", "name": "China Time - Beijing", "abbreviation": "CST"}, | |
{"value": "Asia/Singapore", "name": "Singapore", "abbreviation": "SGT"}, | |
{"value": "Asia/Taipei", "name": "Taipei", "abbreviation": "CST"}, | |
{"value": "Asia/Tashkent", "name": "Tashkent", "abbreviation": "UZT"}, | |
{"value": "Asia/Tbilisi", "name": "Tbilisi", "abbreviation": "GET"}, | |
{"value": "Asia/Tehran", "name": "Tehran", "abbreviation": "IRST"}, | |
{"value": "Asia/Thimphu", "name": "Thimphu", "abbreviation": "BTT"}, | |
{"value": "Asia/Tokyo", "name": "Tokyo", "abbreviation": "JST"}, | |
{"value": "Asia/Ulaanbaatar", "name": "Ulaanbaatar", "abbreviation": "ULAT"}, | |
{"value": "Asia/Vientiane", "name": "Vientiane", "abbreviation": "ICT"}, | |
{"value": "Asia/Vladivostok", "name": "Moscow+07 - Yuzhno-Sakhalinsk", "abbreviation": "VLAT"}, | |
{"value": "Asia/Yakutsk", "name": "Moscow+06 - Yakutsk", "abbreviation": "YAKT"}, | |
{"value": "Asia/Yekaterinburg", "name": "Moscow+02 - Yekaterinburg", "abbreviation": "YEKT"}, | |
{"value": "Asia/Yerevan", "name": "Yerevan", "abbreviation": "AMT"}, | |
{"value": "Atlantic/Azores", "name": "Azores", "abbreviation": "AZOST"}, | |
{"value": "Atlantic/Bermuda", "name": "Bermuda", "abbreviation": "AST"}, | |
{"value": "Atlantic/Canary", "name": "Canary Islands", "abbreviation": "WEST"}, | |
{"value": "Atlantic/Cape_Verde", "name": "Cape Verde", "abbreviation": "CVT"}, | |
{"value": "Atlantic/Faroe", "name": "Faeroe", "abbreviation": "WEST"}, | |
{"value": "Atlantic/Reykjavik", "name": "Reykjavik", "abbreviation": "GMT"}, | |
{"value": "Atlantic/South_Georgia", "name": "South Georgia", "abbreviation": "GST"}, | |
{"value": "Atlantic/St_Helena", "name": "St Helena", "abbreviation": "GMT"}, | |
{"value": "Atlantic/Stanley", "name": "Stanley", "abbreviation": "FKST"}, | |
{"value": "Australia/Adelaide", "name": "Central Time - Adelaide", "abbreviation": "CST"}, | |
{"value": "Australia/Brisbane", "name": "Eastern Time - Brisbane", "abbreviation": "EST"}, | |
{"value": "Australia/Darwin", "name": "Central Time - Darwin", "abbreviation": "CST"}, | |
{"value": "Australia/Hobart", "name": "Eastern Time - Hobart", "abbreviation": "EST"}, | |
{"value": "Australia/Perth", "name": "Western Time - Perth", "abbreviation": "WST"}, | |
{"value": "Australia/Sydney", "name": "Eastern Time - Melbourne, Sydney", "abbreviation": "EST"}, | |
{"value": "Etc/GMT", "name": "GMT (no daylight saving)", "abbreviation": "GMT"}, | |
{"value": "Europe/Amsterdam", "name": "Amsterdam", "abbreviation": "CEST"}, | |
{"value": "Europe/Andorra", "name": "Andorra", "abbreviation": "CEST"}, | |
{"value": "Europe/Athens", "name": "Athens", "abbreviation": "EEST"}, | |
{"value": "Europe/Belgrade", "name": "Central European Time - Belgrade", "abbreviation": "CEST"}, | |
{"value": "Europe/Berlin", "name": "Berlin", "abbreviation": "CEST"}, | |
{"value": "Europe/Brussels", "name": "Brussels", "abbreviation": "CEST"}, | |
{"value": "Europe/Bucharest", "name": "Bucharest", "abbreviation": "EEST"}, | |
{"value": "Europe/Budapest", "name": "Budapest", "abbreviation": "CEST"}, | |
{"value": "Europe/Chisinau", "name": "Chisinau", "abbreviation": "EEST"}, | |
{"value": "Europe/Copenhagen", "name": "Copenhagen", "abbreviation": "CEST"}, | |
{"value": "Europe/Dublin", "name": "Dublin", "abbreviation": "GMT/IST"}, | |
{"value": "Europe/Gibraltar", "name": "Gibraltar", "abbreviation": "CEST"}, | |
{"value": "Europe/Helsinki", "name": "Helsinki", "abbreviation": "EEST"}, | |
{"value": "Europe/Istanbul", "name": "Istanbul", "abbreviation": "EEST"}, | |
{"value": "Europe/Kaliningrad", "name": "Moscow-01 - Kaliningrad", "abbreviation": "FET"}, | |
{"value": "Europe/Kiev", "name": "Kiev", "abbreviation": "EEST"}, | |
{"value": "Europe/Lisbon", "name": "Lisbon", "abbreviation": "WEST"}, | |
{"value": "Europe/London", "name": "London", "abbreviation": "GMT/BST"}, | |
{"value": "Europe/Luxembourg", "name": "Luxembourg", "abbreviation": "CEST"}, | |
{"value": "Europe/Madrid", "name": "Madrid", "abbreviation": "CEST"}, | |
{"value": "Europe/Malta", "name": "Malta", "abbreviation": "CEST"}, | |
{"value": "Europe/Minsk", "name": "Minsk", "abbreviation": "FET"}, | |
{"value": "Europe/Monaco", "name": "Monaco", "abbreviation": "CEST"}, | |
{"value": "Europe/Moscow", "name": "Moscow+00", "abbreviation": "MSK"}, | |
{"value": "Europe/Oslo", "name": "Oslo", "abbreviation": "CEST"}, | |
{"value": "Europe/Paris", "name": "Paris", "abbreviation": "CEST"}, | |
{"value": "Europe/Prague", "name": "Central European Time - Prague", "abbreviation": "CEST"}, | |
{"value": "Europe/Riga", "name": "Riga", "abbreviation": "EEST"}, | |
{"value": "Europe/Rome", "name": "Rome", "abbreviation": "CEST"}, | |
{"value": "Europe/Samara", "name": "Moscow+00 - Samara", "abbreviation": "SAMT"}, | |
{"value": "Europe/Sofia", "name": "Sofia", "abbreviation": "EEST"}, | |
{"value": "Europe/Stockholm", "name": "Stockholm", "abbreviation": "CEST"}, | |
{"value": "Europe/Tallinn", "name": "Tallinn", "abbreviation": "EEST"}, | |
{"value": "Europe/Tirane", "name": "Tirane", "abbreviation": "CEST"}, | |
{"value": "Europe/Vienna", "name": "Vienna", "abbreviation": "CEST"}, | |
{"value": "Europe/Vilnius", "name": "Vilnius", "abbreviation": "EEST"}, | |
{"value": "Europe/Warsaw", "name": "Warsaw", "abbreviation": "CEST"}, | |
{"value": "Europe/Zurich", "name": "Zurich", "abbreviation": "CEST"}, | |
{"value": "Indian/Antananarivo", "name": "Antananarivo", "abbreviation": "EAT"}, | |
{"value": "Indian/Chagos", "name": "Chagos", "abbreviation": "IOT"}, | |
{"value": "Indian/Christmas", "name": "Christmas", "abbreviation": "CXT"}, | |
{"value": "Indian/Cocos", "name": "Cocos", "abbreviation": "CCT"}, | |
{"value": "Indian/Comoro", "name": "Comoro", "abbreviation": "EAT"}, | |
{"value": "Indian/Kerguelen", "name": "Kerguelen", "abbreviation": "TFT"}, | |
{"value": "Indian/Mahe", "name": "Mahe", "abbreviation": "SCT"}, | |
{"value": "Indian/Maldives", "name": "Maldives", "abbreviation": "MVT"}, | |
{"value": "Indian/Mauritius", "name": "Mauritius", "abbreviation": "MUT"}, | |
{"value": "Indian/Mayotte", "name": "Mayotte", "abbreviation": "EAT"}, | |
{"value": "Indian/Reunion", "name": "Reunion", "abbreviation": "RET"}, | |
{"value": "Pacific/Apia", "name": "Apia", "abbreviation": "WST"}, | |
{"value": "Pacific/Auckland", "name": "Auckland", "abbreviation": "NZST"}, | |
{"value": "Pacific/Chuuk", "name": "Truk", "abbreviation": "CHUT"}, | |
{"value": "Pacific/Easter", "name": "Easter Island", "abbreviation": "EASST"}, | |
{"value": "Pacific/Efate", "name": "Efate", "abbreviation": "VUT"}, | |
{"value": "Pacific/Enderbury", "name": "Enderbury", "abbreviation": "PHOT"}, | |
{"value": "Pacific/Fakaofo", "name": "Fakaofo", "abbreviation": "TKT"}, | |
{"value": "Pacific/Fiji", "name": "Fiji", "abbreviation": "FJT"}, | |
{"value": "Pacific/Funafuti", "name": "Funafuti", "abbreviation": "TVT"}, | |
{"value": "Pacific/Galapagos", "name": "Galapagos", "abbreviation": "GALT"}, | |
{"value": "Pacific/Gambier", "name": "Gambier", "abbreviation": "GAMT"}, | |
{"value": "Pacific/Guadalcanal", "name": "Guadalcanal", "abbreviation": "SBT"}, | |
{"value": "Pacific/Guam", "name": "Guam", "abbreviation": "ChST"}, | |
{"value": "Pacific/Honolulu", "name": "Hawaii Time", "abbreviation": "HST"}, | |
{"value": "Pacific/Kiritimati", "name": "Kiritimati", "abbreviation": "LINT"}, | |
{"value": "Pacific/Kosrae", "name": "Kosrae", "abbreviation": "KOST"}, | |
{"value": "Pacific/Kwajalein", "name": "Kwajalein", "abbreviation": "MHT"}, | |
{"value": "Pacific/Majuro", "name": "Majuro", "abbreviation": "MHT"}, | |
{"value": "Pacific/Marquesas", "name": "Marquesas", "abbreviation": "MART"}, | |
{"value": "Pacific/Midway", "name": "Midway", "abbreviation": "SST"}, | |
{"value": "Pacific/Nauru", "name": "Nauru", "abbreviation": "NRT"}, | |
{"value": "Pacific/Niue", "name": "Niue", "abbreviation": "NUT"}, | |
{"value": "Pacific/Norfolk", "name": "Norfolk", "abbreviation": "NFT"}, | |
{"value": "Pacific/Noumea", "name": "Noumea", "abbreviation": "NCT"}, | |
{"value": "Pacific/Pago_Pago", "name": "Pago Pago", "abbreviation": "SST"}, | |
{"value": "Pacific/Palau", "name": "Palau", "abbreviation": "PWT"}, | |
{"value": "Pacific/Pitcairn", "name": "Pitcairn", "abbreviation": "PST"}, | |
{"value": "Pacific/Pohnpei", "name": "Ponape", "abbreviation": "PONT"}, | |
{"value": "Pacific/Port_Moresby", "name": "Port Moresby", "abbreviation": "PGT"}, | |
{"value": "Pacific/Rarotonga", "name": "Rarotonga", "abbreviation": "CKT"}, | |
{"value": "Pacific/Saipan", "name": "Saipan", "abbreviation": "ChST"}, | |
{"value": "Pacific/Tahiti", "name": "Tahiti", "abbreviation": "TAHT"}, | |
{"value": "Pacific/Tarawa", "name": "Tarawa", "abbreviation": "GILT"}, | |
{"value": "Pacific/Tongatapu", "name": "Tongatapu", "abbreviation": "TOT"}, | |
{"value": "Pacific/Wake", "name": "Wake", "abbreviation": "WAKT"}, | |
{"value": "Pacific/Wallis", "name": "Wallis", "abbreviation": "WFT"} | |
] |
This file contains 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
timeUtil = require 'lever-util/time' | |
app.proto.formatTime = timeUtil.format | |
app.proto.displayTimezone = timeUtil.displayTimezone | |
app.proto.displayTimezoneAbbreviation = timeUtil.displayTimezoneAbbreviation | |
app.proto.displayTimezoneCompact = timeUtil.displayTimezoneCompact | |
app.proto.timeRange = timeUtil.range | |
app.proto.sparseDateRange = timeUtil.sparseDateRange | |
app.proto.sparseDuration = timeUtil.sparseDuration |
This file contains 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
<p> | |
{{formatTime(#myDate, #root._session.timezoneName, 'default')}} | |
</p> | |
<p> | |
{{formatTime(#myDate, #root._session.timezoneName, 'date')}} | |
</p> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment