Module:Sandbox/Arcorann/Chinese time

-- Load dependencies. local mm = require('Module:Math') local getArgs = require('Module:Arguments').getArgs

-- This module is intended to replace the entirety of Template:ctime and its subpages, -- which may be found at https://en.wikipedia.org/w/index.php?title=Special%3APrefixIndex&prefix=ctime&namespace=10&stripprefix=1

local heavenlyStems = { { '甲', 'jiǎ' },  -- 1 { '乙', 'yǐ' },  -- 2 { '丙', 'bǐng' },  -- 3 { '丁', 'dīng' },  -- 4 { '戊', 'wù' }, -- 5 { '己', 'jǐ' }, -- 6 { '庚', 'gēng' }, -- 7 { '辛', 'xīn' }, -- 8 { '壬', 'rén' }, -- 9 { '癸', 'guǐ' }  -- 10 }

local elements = { { '木', 'Wood' },  -- 1 { '木', 'Wood' },  -- 2 { '火', 'Fire' },  -- 3 { '火', 'Fire' },  -- 4 { '土', 'Earth' }, -- 5 { '土', 'Earth' }, -- 6 { '金', 'Metal' }, -- 7 { '金', 'Metal' }, -- 8 { '水', 'Water' }, -- 9 { '水', 'Water' }  -- 10 }

local earthlyBranches = { { '子', 'zǐ' },          -- 1 { '丑', 'chǒu' },            -- 2 { '寅', 'yín' },      -- 3 { '卯', 'mǎo' },    -- 4 { '辰', 'chén' },    -- 5 { '巳', 'sì' },      -- 6 { '午', 'wǔ' },      -- 7 { '未', 'wèi' },        -- 8 { '申', 'shēn' },    -- 9 { '酉', 'yǒu' },  -- 10 { '戌', 'xū' },          -- 11 { '亥', 'hài' }           -- 12 }

local animals = { { '鼠', 'Rat' },          -- 1 { '牛', 'Ox' },            -- 2 { '虎', 'Tiger' },      -- 3 { '兔', 'Rabbit' },    -- 4 { '龙', 'Dragon' },    -- 5 { '蛇', 'Snake' },      -- 6 { '马', 'Horse' },      -- 7 { '羊', 'Goat' },        -- 8 { '猴', 'Monkey' },    -- 9 { '鸡', 'Rooster' },  -- 10 { '狗', 'Dog' },          -- 11 { '猪', 'Pig' }           -- 12 }

local solar_terms = { { '立春', '立春', 'lìchūn', 'start of spring' }, 		-- 315 { '雨水', '雨水', 'yǔshuǐ', 'rain water' },				-- 330 { '驚蟄', '惊蛰', 'jīngzhé', 'awakening of insects' }, 	-- 345 { '春分', '春分', 'chūnfēn', 'vernal equinox' },		-- 0 { '清明', '清明', 'qīngmíng', 'clear and bright' }		-- 15 }

-- local function parse_datetime(str) -- 	-- converts a datetime into suitable format -- end

local function stembranch_nums(pos) -- returns the stem and branch numbers in ordinal form, given ordinal position in cycle stem = (pos - 1)%10 + 1 branch = (pos - 1)%12 + 1 return {stem,branch} end

local function time_to_dayfrac(time) -- Accepts a time formatted end

local function dian(dayfrac) -- Accepts a day fraction -- Return the time in the diǎn system (60 diǎn in one day, beginning at midnight) -- replaces ctime:O return math.floor(dayfrac/60) end

local function gengdian(dayfrac) -- Accepts a day fraction -- Return the time in the Gēngdiǎn system (10 gēng in one day, sāngēng begins at midnight) return end

local function ke(dayfrac) -- Returns the current kè under the 100-kè system return math.floor(dayfrac/100) end

local function kec(dayfrac,n) --Returns the current kè under the 120-kè system, used from 7CE to around 20CE? return math.floor(dayfrac/120) end

local function shike(dayfrac) -- Returns the current shi and ke under the 100-ke system -- Each shi contains end

local function shikefen(dayfrac) -- Returns the current shi:ke:fen under the 100-ke, 60-fen system end