Module:Time/data

From The Languages of David J. Peterson
Jump to navigation Jump to search

Documentation for this module may be created at Module:Time/data/documentation

--[[--------------------------< C O N F I G U R A T I O N   D A T A >------------------------------------------

for internationalization, this section to hold constant text, parameter names and values, other items subject to
language translation

]]

local cfg = {
	['default_df'] = 'mdy',														-- default date format when |<df> and |df= omitted or empty
	['df_vals'] = {
		['dmy']=true,
		['dmy12']=true,															-- also 'y'
		['dow']=true,
		['mdy']=true,
		['mdy12']=true,
		['iso']=true,
		['y']=true,																-- also 'dmy' and 'dmy12'
		['12']=true,
		['24']=true,
		};

	['err_msg'] = '<span style="font-size:100%" class="error">{{time}} – $1 ([[Template:Time#Error messages|help]])</span>',
	['err_text'] = {
		['bad_def'] = 'incomplete definition for $1',
		['bad_df_pair'] = 'both of &#124;df-cust-a= and &#124;df-cust-p required',
		['bad_dst'] = 'error calculating dst timestamps',
		['bad_format'] = 'invalid date format $1',
		['bad_sign'] = 'invalid use of ±',
		['test_time'] = 'malformed or incomplete _TEST_TIME_',
		['unknown_tz'] = 'unknown timezone $1',
		},

	['format'] = {																-- output formatting strings
		t12 = 'g:i a',															-- time only
		t24 = 'H:i',
		
		iso_date ='Y-m-d',														-- date only
		dmy_date = 'j F Y',
		mdy_date = 'F j, Y',
		
		dmy12 = 'g:i a, j F Y',													-- 12hr time and date
		mdy12 = 'g:i a, F j, Y',
		
		dmy = 'H:i, j F Y',														-- 24hr time and date
		mdy = 'H:i, F j, Y',
		iso = 'Y-m-d"T"H:i',
		
		dow = 'l'																-- day of the week
		},

																				-- for dst calculations
	days = {['sunday'] = 0, ['monday'] = 1, ['tuesday'] = 2, ['wednesday'] = 3, ['thursday'] = 4, ['friday'] = 5, ['saturday'] = 6},
	months = {['january'] = 1, ['february'] = 2, ['march'] = 3, ['april'] = 4, ['may'] = 5, ['june'] = 6,
		['july'] = 7, ['august'] = 8, ['september'] = 9, ['october'] = 10, ['november'] = 11, ['december'] = 12};
	ordinals = {['1st'] = 1, ['first'] = 1, ['2nd'] = 2, ['second'] = 2, ['3rd'] = 3, ['third'] = 3, ['4th'] = 4, ['fourth'] = 4, ['5th'] = 5, ['fifth'] = 5, ['last'] = -1},

	-- parameter list
	aliases = {
		['dateonly'] = {'dateonly'},
		['df'] = {'df'},
		['df-cust'] = {'df-cust'},
		['df-cust-a'] = {'df-cust-a'},
		['df-cust-p'] = {'df-cust-p'},
		['dst'] = {'dst'},
		['hide-refresh'] = {'hide-refresh'},
		['hide-tz'] = {'hide-tz'},
		['lang'] = {'lang'},
		['timeonly'] = {'timeonly'},
		['unlink-tz'] = {'unlink-tz'},
		}
	}


--[[--------------------------< A L I A S E S >----------------------------------------------------------------

]]

local tz_aliases = {
	['british summer time'] = 'gmt-uk',
	['irish standard time'] = 'gmt-ie',
	['usz1'] = 'kalt',															-- old form Kaliningrad time

	['west'] = 'wet',															-- dst aliases east of utc
	['cest'] = 'cet',
	['eest'] = 'eet',
	['acdt'] = 'acst',
	['aedt'] = 'aest',
	['nzdt'] = 'nzst',

	['at'] = 'ast',																-- alternate abbreviations west of utc
	['et'] = 'est',
	['ct'] = 'cst',
	['pt'] = 'pst',
	['akt'] = 'akst',
	['hst'] = 'hast',

	['pmdt'] = 'pmst',															-- dst aliases west of utc
	['wgst'] = 'wgt',
	['ndt'] = 'nst',
	['adt'] = 'ast',
	['edt'] = 'est',
	['cdt'] = 'cst',
	['mdt'] = 'mst',
	['pdt'] = 'pst',
	['akdt'] = 'akst',
	['hdt'] = 'hast',
	}


--[[--------------------------< T I M E Z O N E   D A T A >----------------------------------------------------

When specifying utc offset do not use the minus character (U+2212) for offsets west of 0 meridian; use the minus-hyphen

]]

local tz_data = {
------------------------------< E A S T   U T C + H H : M M >--------------------------------------------------

['utc'] = {
	abbr = 'UTC',			-- (required) abbreviation to use during standard time
	dst_abbr = '',			-- abbreviation to use during daylight saving time
	utc_offset = '00:00',	-- (required) hours and minutes offset from UTC for this timezone; '+' is optional; '-' (hyphen-minus) is required for timezones west of 0 meridian
	df = 'dmy',				-- date format typically used in the time zone
	dst_begins = '',		-- daylight saving begins; e.g. 2nd Sunday in March; also last; empty string if not observed
	dst_ends = '',			-- (required if dst_begins is set) daylight saving ends; e.g. 1st Sunday in November; ignored if dst_begins not set
	dst_time = '',			-- (required if dst_begins is set) local time on the day that dst begins/ends; for EU DST rules specify utc time: e.g.: '01:00 UTC'
	dst_e_time = '',		-- local daylight saving time on the day that dst ends; only when different from dst_time; see acst for an example
	article = 'Coordinated Universal Time'	-- (required) name of related Wikipedia article without markup
	},
['gmt'] = {
	abbr = 'GMT',			
	dst_abbr = '',
	utc_offset = '00:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Greenwich Mean Time'
},
['gmt-uk'] = {
	abbr = 'GMT',			
	dst_abbr = 'BST',															-- British Summer Time
	utc_offset = '00:00',
	df = 'dmy',
	dst_begins = 'last Sunday of March',
	dst_ends = 'last Sunday of October',
	dst_time = '01:00 UTC',														-- 01:00 standard time is same as 01:00 UTC
	article = 'Time in the United Kingdom'
},
['gmt-ie'] = {																	-- ist is shared with Indian Standard Time so use gmt-ie
	abbr = 'GMT',																-- winter time
	dst_abbr = 'IST',															-- Irish Standard Time occurs in summer
	utc_offset = '00:00',
	df = 'dmy',
	dst_begins = 'last Sunday of March',
	dst_ends = 'last Sunday of October',
	dst_time = '01:00 UTC',														-- 01:00 standard time is same as 01:00 UTC
	article = 'Time in Ireland'
},
['wet'] = {
	abbr = 'WET',
	dst_abbr = 'WEST',
	utc_offset = '00:00',
	df = 'dmy',
	dst_begins = 'last Sunday of March',
	dst_ends = 'last Sunday of October',
	dst_time = '01:00 UTC',														-- 01:00 standard time is same as 01:00 UTC
	article = 'Western European Time'
},
['cet'] = {
	abbr = 'CET',
	dst_abbr = 'CEST',
	utc_offset = '01:00',
	df = 'dmy',
	dst_begins = 'last Sunday of March',
	dst_ends = 'last Sunday of October',
	dst_time = '01:00 UTC',														-- 02:00 standard time is same as 01:00 UTC
	article = 'Central European Time'
},
['eet'] = {
	abbr = 'EET',
	dst_abbr = 'EEST',
	utc_offset = '02:00',
	df = 'dmy',
	dst_begins = 'last Sunday of March',
	dst_ends = 'last Sunday of October',
	dst_time = '01:00 UTC',														-- 03:00 standard time is same as 01:00 UTC
	article = 'Eastern European Time'
},
['kalt'] = {
	abbr = 'KALT',
	dst_abbr = '',
	utc_offset = '02:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Kaliningrad Time'
},
['msk'] = {
	abbr = 'MSK',
	dst_abbr = '',
	utc_offset = '03:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Moscow Time'
},
['samt'] = {
	abbr = 'SAMT',
	dst_abbr = '',
	utc_offset = '04:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Samara Time'
},
['yekt'] = {
	abbr = 'YEKT',
	dst_abbr = '',
	utc_offset = '05:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Yekaterinburg Time'
},
['pkt'] = {
	abbr = 'PKT',			
	dst_abbr = '',
	utc_offset = '05:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Pakistan Standard Time'
},
['ist'] = {
	abbr = 'IST',
	utc_offset = '05:30',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Indian Standard Time'
},
['slst'] = {
	abbr = 'SLST',
	utc_offset = '05:30',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Sri Lanka Standard Time'
},
['npt'] = {
	abbr = 'NPT',
	dst_abbr = '',
	utc_offset = '05:45',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Nepal Time'
},
['bst'] = {
	abbr = 'BST',
	utc_offset = '06:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Bangladesh Standard Time'
},
['omst'] = {
	abbr = 'OMST',
	dst_abbr = '',
	utc_offset = '06:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Omsk Time'
},
['krat'] = {
	abbr = 'KRAT',
	dst_abbr = '',
	utc_offset = '07:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Krasnoyarsk Time'
},
['wib'] = {																		-- western indonesia
	abbr = 'WIB',
	dst_abbr = '',
	utc_offset = '07:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Time in Indonesia'
},
['awst'] = {
	abbr = 'AWST',
	dst_abbr = '',
	utc_offset = '08:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Time in Australia'
},
['bt'] = {																		-- same as China standard time (CST)
	abbr = 'BT',
	dst_abbr = '',
	utc_offset = '08:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Time in China'
},
['irkt'] = {
	abbr = 'IRKT',
	dst_abbr = '',
	utc_offset = '08:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Irkutsk Time'
},
['sst'] = {																		
	abbr = 'SST',
	dst_abbr = '',
	utc_offset = '08:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Singapore Standard Time',
},
['wita'] = {		-- central
	abbr = 'WITA',
	dst_abbr = '',
	utc_offset = '08:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Time in Indonesia'
},
['jst'] = {
	abbr = 'JST',
	dst_abbr = '',
	utc_offset = '09:00',
	df = 'iso',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Japan Standard Time'
},
['kst'] = {
	abbr = 'KST',                      
	dst_abbr = '',
	utc_offset = '09:00',
	df = 'iso',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	dst_e_time = '',
	article = 'Time in South Korea'
},
['wit'] = {																		-- eastern Indonesia (same as old template's eit)
	abbr = 'WIT',
	dst_abbr = '',
	utc_offset = '09:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Time in Indonesia'
},
['yakt'] = {
	abbr = 'YAKT',
	dst_abbr = '',
	utc_offset = '09:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Yakutsk Time'
},
['acst'] = {																	-- Northern Territory, South Australia time
	abbr = 'ACST',
	dst_abbr = 'ACDT',
	utc_offset = '09:30',
	df = 'dmy',
	dst_begins = 'first Sunday in October',
	dst_ends = 'first Sunday in April',
	dst_time = '02:00',
	dst_e_time = '03:00',
	article = 'Time in Australia'
},
['aest'] = {		-- QLD, NSW, TAS, VIC, ACT
	abbr = 'AEST',
	dst_abbr = 'AEDT',
	utc_offset = '10:00',
	df = 'dmy',
	dst_begins = 'first Sunday in October',
	dst_ends = 'first Sunday in April',
	dst_time = '02:00',															-- begins at 02:00 AEST
	dst_e_time = '03:00',														-- ends at 02:00 AEST which is 03:00 AEDT
	article = 'Time in Australia'
},
['chst'] = {
	abbr = 'ChST',
	dst_abbr = '',
	utc_offset = '10:00',
	df = 'mdy',																	-- because a US territory?
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Chamorro Time Zone'
},
['vlat'] = {
	abbr = 'VLAT',
	dst_abbr = '',
	utc_offset = '10:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Vladivostok Time'
},
['sret'] = {
	abbr = 'SRET',
	dst_abbr = '',
	utc_offset = '11:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Srednekolymsk Time'
},
['nzst'] = {
	abbr = 'NZST',
	dst_abbr = 'NZDT',
	utc_offset = '12:00',
	df = 'dmy',
	dst_begins = 'last Sunday in September',
	dst_ends = 'first Sunday in April',
	dst_time = '02:00',															-- begins at 02:00 NZST
	dst_e_time = '03:00',														-- ends at 02:00 NZST which is 03:00 NZDT
	article = 'Time in New Zealand'
},
['pett'] = {
	abbr = 'PETT',
	dst_abbr = '',
	utc_offset = '12:00',
	df = 'dmy',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Kamchatka Time'
},
['idle'] = {																	-- international dateline east
	abbr = 'IDLE',
	dst_abbr = '',
	utc_offset = '12:00',
	df = 'iso',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'UTC+12:00'
},


------------------------------< W E S T   U T C - H H : M M >--------------------------------------------------

['pmst'] = {
	abbr = 'PMST',
	dst_abbr = 'PMDT',
	utc_offset = '-03:00',
	df = 'dmy',																	-- because France
	dst_begins = '2nd Sunday in March',											-- North American rules
	dst_ends = '1st Sunday in November',
	dst_time = '02:00',
	article = 'UTC−03:00'
},
['wgt'] = {																		-- western greenland time?  Not for Thule Airbase which observes US DST rules; requires own properties
	abbr = 'WGT',
	dst_abbr = 'WGST',															-- ??? what is the correct abbreviation?
	utc_offset = '-03:00',
	df = 'dmy',
	dst_begins = 'last Sunday in March',
	dst_ends = 'last Sunday in October',
	dst_time = '01:00 UTC',
	article = 'Time in Denmark'
},
['nst'] = {
	abbr = 'NST',
	dst_abbr = 'NDT',
	utc_offset = '-03:30',
	df = 'dmy',
	dst_begins = '2nd Sunday in March',
	dst_ends = '1st Sunday in November',
	dst_time = '02:00',
	article = 'Newfoundland Standard Time'
},
['ast'] = {
	abbr = 'AST',
	dst_abbr = 'ADT',
	utc_offset = '-04:00',
	df = 'dmy',
	dst_begins = '2nd Sunday in March',
	dst_ends = '1st Sunday in November',
	dst_time = '02:00',
	article = 'Atlantic Time Zone'
},
['est'] = {
	abbr = 'EST',
	dst_abbr = 'EDT',
	utc_offset = '-05:00',
	df = 'mdy',
	dst_begins = '2nd Sunday in March',
	dst_ends = '1st Sunday in November',
	dst_time = '02:00',
	article = 'Eastern Time Zone'
},
['cst'] = {
	abbr = 'CST',
	dst_abbr = 'CDT',
	utc_offset = '-06:00',
	df = 'mdy',
	dst_begins = '2nd Sunday in March',
	dst_ends = '1st Sunday in November',
	dst_time = '02:00',
	article = 'Central Time Zone'
},
['mst'] = {
	abbr = 'MST',
	dst_abbr = 'MDT',
	utc_offset = '-07:00',
	df = 'mdy',
	dst_begins = '2nd Sunday in March',
	dst_ends = '1st Sunday in November',
	dst_time = '02:00',
	article = 'Mountain Time Zone'
},
['pst'] = {
	abbr = 'PST',
	dst_abbr = 'PDT',
	utc_offset = '-08:00',
	df = 'mdy',
	dst_begins = '2nd Sunday in March',
	dst_ends = '1st Sunday in November',
	dst_time = '02:00',
	article = 'Pacific Time Zone'
},
['akst'] = {
	abbr = 'AKST',
	dst_abbr = 'AKDT',
	utc_offset = '-09:00',
	df = 'mdy',
	dst_begins = '2nd Sunday in March',
	dst_ends = '1st Sunday in November',
	dst_time = '02:00',
	article = 'Alaska Time Zone'
},
['hast'] = {	-- same as AleutST and HST
	abbr = 'HAST',
	dst_abbr = 'HADT',
	utc_offset = '-10:00',
	df = 'mdy',
	dst_begins = '2nd Sunday in March',
	dst_ends = '1st Sunday in November',
	dst_time = '02:00',
	article = 'Hawaii–Aleutian Time Zone'
},
['idlw'] = {																	-- international dateline west
	abbr = 'IDLW',
	dst_abbr = '',
	utc_offset = '-12:00',
	df = 'iso',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'UTC−12:00'
},
['aoe'] = {																		-- last location for any date
	abbr = 'AoE',
	dst_abbr = '',
	utc_offset = '-12:00',
	df = 'iso',
	dst_begins = '',
	dst_ends = '',
	dst_time = '',
	article = 'Anywhere on Earth'
},

------------------------------< M I L I T A R Y >--------------------------------------------------------------
-- {{cite web |url=http://wwp.greenwichmeantime.com/info/timezone.htm |title=Military and Civilian Time Designations |accessdate=2016-03-25 |website=Greenwich Mean Time}}
--http://astro.ukho.gov.uk/nao/miscellanea/WMTZ/Wmtz160224.pdf
['a'] = {abbr = 'A', utc_offset = '01:00', df = 'iso', article = 'List of military time zones'},
['b'] = {abbr = 'B', utc_offset = '02:00', df = 'iso', article = 'List of military time zones'},
['c'] = {abbr = 'C', utc_offset = '03:00', df = 'iso', article = 'List of military time zones'},
['c*'] = {abbr = 'C*', utc_offset = '03:30', df = 'iso', article = 'List of military time zones'},
['d'] = {abbr = 'D', utc_offset = '04:00', df = 'iso', article = 'List of military time zones'},
['d*'] = {abbr = 'D*', utc_offset = '04:30', df = 'iso', article = 'List of military time zones'},
['e'] = {abbr = 'E', utc_offset = '05:00', df = 'iso', article = 'List of military time zones'},
['e*'] = {abbr = 'E*', utc_offset = '05:30', df = 'iso', article = 'List of military time zones'},
['e+'] = {abbr = 'E†', utc_offset = '05:45', df = 'iso', article = 'List of military time zones'},
['f'] = {abbr = 'F', utc_offset = '06:00', df = 'iso', article = 'List of military time zones'},
['f*'] = {abbr = 'F*', utc_offset = '06:30', df = 'iso', article = 'List of military time zones'},
['g'] = {abbr = 'G', utc_offset = '07:00', df = 'iso', article = 'List of military time zones'},
['h'] = {abbr = 'H', utc_offset = '08:00', df = 'iso', article = 'List of military time zones'},
['h*'] = {abbr = 'H*', utc_offset = '08:30', df = 'iso', article = 'List of military time zones'},
['i'] = {abbr = 'I', utc_offset = '09:00', df = 'iso', article = 'List of military time zones'},
['i*'] = {abbr = 'I*', utc_offset = '09:30', df = 'iso', article = 'List of military time zones'},
['k'] = {abbr = 'K', utc_offset = '10:00', df = 'iso', article = 'List of military time zones'},
['k*'] = {abbr = 'K*', utc_offset = '10:30', df = 'iso', article = 'List of military time zones'},
['l'] = {abbr = 'L', utc_offset = '11:00', df = 'iso', article = 'List of military time zones'},
['l*'] = {abbr = 'L*', utc_offset = '11:30', df = 'iso', article = 'List of military time zones'},
['m'] = {abbr = 'M', utc_offset = '12:00', df = 'iso', article = 'List of military time zones'},
['m++'] = {abbr = 'M‡', utc_offset = '12:45', df = 'iso', article = 'List of military time zones'},
['m*'] = {abbr = 'M*', utc_offset = '13:00', df = 'iso', article = 'List of military time zones'},
['m+'] = {abbr = 'M†', utc_offset = '14:00', df = 'iso', article = 'List of military time zones'},
['n'] = {abbr = 'N', utc_offset = '-01:00', df = 'iso', article = 'List of military time zones'},
['o'] = {abbr = 'O', utc_offset = '-02:00', df = 'iso', article = 'List of military time zones'},
['p'] = {abbr = 'P', utc_offset = '-03:00', df = 'iso', article = 'List of military time zones'},
['p*'] = {abbr = 'P*', utc_offset = '-03:30', df = 'iso', article = 'List of military time zones'},
['q'] = {abbr = 'Q', utc_offset = '-04:00', df = 'iso', article = 'List of military time zones'},
['q*'] = {abbr = 'Q*', utc_offset = '-04:30', df = 'iso', article = 'List of military time zones'},
['r'] = {abbr = 'R', utc_offset = '-05:00', df = 'iso', article = 'List of military time zones'},
['s'] = {abbr = 'S', utc_offset = '-06:00', df = 'iso', article = 'List of military time zones'},
['t'] = {abbr = 'T', utc_offset = '-07:00', df = 'iso', article = 'List of military time zones'},
['u'] = {abbr = 'U', utc_offset = '-08:00', df = 'iso', article = 'List of military time zones'},
['u*'] = {abbr = 'U*', utc_offset = '-08:30', df = 'iso', article = 'List of military time zones'},
['v'] = {abbr = 'V', utc_offset = '-09:00', df = 'iso', article = 'List of military time zones'},
['v*'] = {abbr = 'V*', utc_offset = '-09:30', df = 'iso', article = 'List of military time zones'},
['w'] = {abbr = 'W', utc_offset = '-10:00', df = 'iso', article = 'List of military time zones'},
['x'] = {abbr = 'X', utc_offset = '-11:00', df = 'iso', article = 'List of military time zones'},
['y'] = {abbr = 'Y', utc_offset = '-12:00', df = 'iso', article = 'List of military time zones'},
['z'] = {abbr = 'Z', utc_offset = '±00:00', df = 'iso', article = 'List of military time zones'},

------------------------------< U T C   O F F S E T S >--------------------------------------------------------
-- this table entry filled by the code in time()

['utc_offsets'] = {abbr = '', utc_offset = '', df = 'iso', article = ''},
};																				-- end of tz_data table


--[[--------------------------< E X P O R T E D   T A B L E S >------------------------------------------------
]]

return {
	cfg = cfg,
	tz_aliases = tz_aliases,
	tz_data = tz_data,
	}