v3.6.2 同步发版:晚子时不再双重换日、港澳时区归位
- 晚子时(真太阳时 23:00–24:00,约 4% 的盘)修正:换日改由 tyme4py provider 原生实现(cast 新增 sect 参数,1=子初 / 2=子正),排盘层不再自行预滚日。3.6.1 及此前会滚两次,日柱多进一天、时柱随之错干——锚点 1973-08-23 23:32 男:旧 癸巳日壬子时 → 正 壬辰日庚子时。已排过的晚子时盘建议重排核对 - --day-boundary 子正 现真正生效(走 sect=2,晚子时日柱算当天),此前只改审计文案不改实际排盘 - data/cities.json 港澳 28 个条目由 Asia/Shanghai 改为 Asia/Hong_Kong(19)、Asia/Macau(9):大陆 1986–1991 行夏令时而港澳 1979 年后无,沿用上海区会把大陆夏令时错加到港澳命主身上 - 修副本环境 `pytest tests/` 收集期中断(test_sync_tool 模块级加载外层 tools/,skipif 挡不住导入),现按设计整模块 skip - .gitignore 新增 data/.license.json、data/.update_check.json,本机授权与更新缓存不再可能误入仓 - 测试 178 项全绿(副本内 sync 工具 4 项按设计 skip);manifest 1278 文件,ed25519 签名,公钥指纹 3089bc1cc9a453e5…
This commit is contained in:
@@ -85,13 +85,14 @@ def _cast_chart(name: str, gender: str, birth: str, place: str,
|
||||
# L0-d UTC → 真太阳时(经度修正 + 均时差)
|
||||
tst, st_audit = to_true_solar_time(utc, loc.lon)
|
||||
|
||||
# L0-e 日界归算:默认子初换日(真太阳时 23:00–24:00 归入次日)
|
||||
day, bd_audit = resolve_calendar_day(tst, rule=day_boundary)
|
||||
# L0-e 日界审计:is_late_zi 警示与口径文案;换日由排盘层 provider
|
||||
# 口径实现(sect 参数),此处不再对时刻预先滚日(避免双重换日)
|
||||
_day, bd_audit = resolve_calendar_day(tst, rule=day_boundary)
|
||||
|
||||
cast_dt = day.replace(hour=tst.hour, minute=tst.minute, second=tst.second)
|
||||
cast_dt = tst
|
||||
|
||||
# L1-a 排盘(tyme4py 唯一接触面)
|
||||
raw = cast(cast_dt, gender)
|
||||
# L1-a 排盘(tyme4py 唯一接触面);子正口径走 sect=2(晚子时日柱算当天)
|
||||
raw = cast(cast_dt, gender, sect=2 if day_boundary == "子正" else 1)
|
||||
|
||||
# L1-b 起运、大运、流年、流月、小运
|
||||
forward = is_forward(gender, raw["year"]["gan"])
|
||||
|
||||
Reference in New Issue
Block a user