欢迎来到奇葩栖息地!欢迎加入Discord服务器:XfrfHCzfbW。请先至特殊:参数设置验证邮箱后再进行编辑。在特殊:参数设置挑选自己想要使用的小工具!不会编辑?请至这里学习Wikitext语法。
模块:Chinese calendar:修订间差异
来自奇葩栖息地
无编辑摘要
SkyEye FAST(讨论 | 贡献) (//Edit via InPageEdit) |
SkyEye FAST(讨论 | 贡献) 无编辑摘要 标签:已被回退 |
||
第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
return band(lunarInfo[y - 1900], rshift(0x10000, m - 1)) ~= 0 and 30 or 29
end▼
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))
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 then
offset = offset + temp
lm = lm - 1
end
-- 计算日期
▲ local ld = offset + 1
-- 格式化输出
|