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

模块:Chinese calendar:修订间差异

来自奇葩栖息地
添加12字节 、​ 2025年1月7日 (星期二)
无编辑摘要
(//Edit via InPageEdit)
无编辑摘要
标签已被回退
第233行:
end
bitval = bitval * 2
a = math.floor(a / 2)
b = math.floor(b / 2)
end
return result
第243行:
if a <= 0 then return 0 end
if b < 0 then return a end
return math.floor(a / (2 ^ b))
end
 
第286行:
if y < 1900 or y > 2100 then return 0 end
if m > 12 or m < 1 then return 0 end
if-- band(lunarInfo[y修改: - 1900],使用 rshift(0x10000, m)) ~=函数代替 0>> then运算符
return band(lunarInfo[y - 1900], rshift(0x10000, m - 1)) ~= 0 and 30 or 29
return 30
end
return 29
end
 
第315行 ⟶ 第313行:
end
 
-- 修改: 使用正确的基准日期计算方法
-- 计算距离1900年1月31日的天数
local baseDate = os.time({ year = 1900, month = 1, day = 31 })
local targetDate = os.time({ year = y, month = m, day = d })
local offset = math.floor((targetDate - baseDate) / (24 * 60 * 60))
 
-- 计算距离修改: 处理1900年1月31日之前天数日期
if offset < 0 then
return "日期超出范围(1900-2100)"
end
 
-- 计算农历年
第335行 ⟶ 第338行:
-- 计算农历月日
local lm = 1
local ld = 1
local isLeap = false
local leap = leapMonth(ly)
第353行 ⟶ 第355行:
end
 
-- 计算修正月份和
if offset == 0 and leap > 0 and lm == leap + 1 then
if isLeap then
isLeap = false
else
isLeap = true
lm = lm - 1
end
end
if offset < 0 then
offset = offset + temp
lm = lm - 1
end
 
ld = offset + 1
-- 计算日期
local ld = offset + 1
 
-- 格式化输出
2,099

个编辑