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

模块:Chinese calendar:修订间差异

来自奇葩栖息地
删除122字节 、​ 2025年1月1日 (星期三)
//Edit via InPageEdit
无编辑摘要
(//Edit via InPageEdit)
第119行:
 
-- 计算农历日期
local function calculateLunarDate(yearCode, year, month, day)
-- 获取春节日期
local sfMonth, sfDay = getSpringFestival(yearCode)
第177行:
-- 将公历日期转换为农历日期
function p.toLunar(frame)
-- 获取输入参数
local date = frame.args[1]
local showSolarTerm = frame.args.showSolarTerm or false
第185行 ⟶ 第184行:
local day = tonumber(date:sub(9, 10))
 
-- 输入日期范围验证
if year < 1900 or year > 2100 then
return '错误:年份超出范围(1900-2100)'
第196行 ⟶ 第195行:
end
 
-- 计算农历年输出日期
local yearCode = LUNAR_INFO[year - 1900 + 1]
 
-- 计算农历月份和日期
local lunarMonth, lunarDay, isLeapMonth, lunarYear = calculateLunarDate(yearCode, year, month, day)
 
-- 获取天干地支
local stemIndex = (lunarYear - 4) % 10
local branchIndex = (lunarYear - 4) % 12
 
-- 构造输出字符串
local result = HEAVENLY_STEMS[stemIndex + 1] .. EARTHLY_BRANCHES[branchIndex + 1] .. '年'
if isLeapMonth then
第213行 ⟶ 第206行:
result = result .. LUNAR_MONTHS[lunarMonth] .. '月' .. LUNAR_DAYS[lunarDay]
 
-- 如果需要显示输出节气
if showSolarTerm then
local solarTerm = getSolarTerm(year, month, day)
2,099

个编辑