欢迎来到奇葩栖息地!欢迎加入Discord服务器:XfrfHCzfbW请先至特殊:参数设置验证邮箱后再进行编辑。特殊:参数设置挑选自己想要使用的小工具!不会编辑?请至这里学习Wikitext语法。

模块:Chinese calendar:修订间差异

来自奇葩栖息地
删除18字节 、​ 2025年1月1日 (星期三)
//Edit via InPageEdit
(//Edit via InPageEdit)
(//Edit via InPageEdit)
第39行:
}
 
-- 更新节气数据(每个节气的日期偏移量)
local SOLAR_TERMS_OFFSET = {
65, 20, 43, 19, 6, 2118, 5, 20, 64, 2119, 65, 2120, 75, 23, 8, 2321,
86, 2322, 87, 2422, 87, 22, 7, 23, 7, 22, 6, 21
}
 
第97行:
end
 
-- 计算节气的修正值,考虑年份差异带来的偏移
local function getTermOffset(year, termIndex)
local y = year - 1900
local d = 0
 
-- 针对不同节气使用不同偏移修正系数
local coefficient = 0.2422
if termIndex <= 2 then -- 小寒、大寒
if termIndex <= 2 dthen = math.floor(y * 0.2422 + 3.87) -- math.floor(y/4)小寒、大寒
d = math.floor(y * 0.2422coefficient + 34.8781) - math.floor(y/4)
elseif termIndex <= 6 then -- 立春到春分
ifelseif termIndex <= 26 then -- 小寒、大寒立春到春分
d = math.floor(y * 0.2422 + 3.87) - math.floor(y/4)
d = math.floor(y * coefficient + 4.6) - math.floor(y/4)
elseif termIndex <= 12 then -- 清明到夏至
d = math.floor(y * 0.2422coefficient + 4.158) - math.floor(y/4)
elseif termIndex <= 18 then -- 小暑到秋分
d = math.floor(y * 0.2422coefficient + 4.1587) - math.floor(y/4)
else -- 寒露到冬至
d = math.floor(y * 0.2422coefficient + 34.8783) - math.floor(y/4)
end
 
第126行 ⟶ 第127行:
local baseDay = SOLAR_TERMS_OFFSET[idx]
local offset = getTermOffset(year, idx)
local termDay = (baseDay + offset) % 31
if termDay >== 310 then termDay = 31 end
 
if termDay > 31 then
termDay = termDay - 31
end
 
if day == termDay then
第200行 ⟶ 第198行:
local date = frame.args[1]
local showSolarTerm = frame.args.showSolarTerm
if type(showSolarTerm) == "string" truethen
 
if showSolarTerm = (showSolarTerm == nil"true" or showSolarTerm == then"1")
showSolarTerm = true
else
showSolarTerm = (showSolarTerm == true or showSolarTerm == "true" or showSolarTerm == "1")
end
 
2,099

个编辑