V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Anshi
V2EX  ›  前端开发

有什么靠谱的转农历算法推荐吗?

  •  1
     
  •   Anshi · 2020-09-29 14:20:37 +08:00 · 1492 次点击
    这是一个创建于 1298 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我是个切图仔,要做日历,想在前端生成农历,理想情况是有农历算法直接转换,但是查阅资料后发现农历不是绝对规律的,还会根据天文观测做特殊处理(闰月),所以想问问有没有靠谱的转农历算法推荐,github 上以 lunar 关键词搜了下,似乎都没什么维护了

    或者不是自己换算,而是有什么官方提供的查询接口吗(我在想 p 吃)?

    14 条回复    2020-09-30 08:34:17 +08:00
    gxgxxn
        1
    gxgxxn  
       2020-09-29 14:45:45 +08:00
    长期的算法应该没有吧,不过我国的历书是由紫台发布,虽然有个网站但是感觉很老了,刚才看了一下似乎还不能访问了。http://almanac.pmo.ac.cn/
    Mutoo
        2
    Mutoo  
       2020-09-29 14:46:49 +08:00
    农历是天文官每隔 N 年手工编排的,没有算法。
    Mutoo
        3
    Mutoo  
       2020-09-29 14:48:09 +08:00
    前端的话可以参考这个方法 /t/705897
    AmrtaShiva
        4
    AmrtaShiva  
       2020-09-29 14:48:27 +08:00 via Android
    @gxgxxn #1 这个每年只发布当年的
    Chry3anthemum
        5
    Chry3anthemum  
       2020-09-29 14:48:52 +08:00
    找紫金山天文台
    AmrtaShiva
        6
    AmrtaShiva  
       2020-09-29 14:50:28 +08:00 via Android
    目前没有算法 有个五虎盾元可以根据年干支计算月干支 五鼠盾元 可以根据日干支计算时辰干支 日干支计算基本没有固定的规律 因为设计到望朔 自己写的话 后端一个多月能写出来都是快的
    Anshi
        7
    Anshi  
    OP
       2020-09-29 15:06:52 +08:00
    @Mutoo 噢!原来是每隔一段时间手工计算的阿😂 ,推荐的帖子很好,收藏了

    @AmrtaShiva 好吧,谢谢老铁解惑
    gxgxxn
        8
    gxgxxn  
       2020-09-29 15:08:39 +08:00
    @AmrtaShiva 应该是到后一年吧,太久了也不准确,只能做参考。这个毕竟是根据天体运行来编排的,要用历史观测资料不断修正。
    AmrtaShiva
        9
    AmrtaShiva  
       2020-09-30 00:25:19 +08:00 via Android
    @gxgxxn #8 我今年发邮件要出来的只有本年农历 所以自己写了一个 省的求人 dog
    laocaixw
        10
    laocaixw  
       2020-09-30 06:59:34 +08:00 via iPhone
    这是一个小程序日历插件,里面农历算法有点问题。所以改了一下,自己用着基本没什么问题,供参考(1900-2100): https://github.com/laocaixw/calendar/blob/master/%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91%E4%BB%A3%E7%A0%81/plugin/components/calendar/lunar.js
    gxgxxn
        11
    gxgxxn  
       2020-09-30 08:17:46 +08:00
    @AmrtaShiva 具体怎么推算不是很清楚,但是和天体的位置肯定有关,所以我认为如过要追求准确的可以使用 DE 历表来计算天体位置,进而推算节气、闰月。DE 历表是 JPL 发布的行星历表,大概是目前最精确的行星历表了。
    AmrtaShiva
        12
    AmrtaShiva  
       2020-09-30 08:32:13 +08:00 via iPhone
    @gxgxxn 古人有一套自己的推算方法 在唐朝叫乙巳 景祐年间也有类似的 之前的好多遗失了 现在科技好多都是其他国家根据星体运动算出来的数据
    AmrtaShiva
        13
    AmrtaShiva  
       2020-09-30 08:33:44 +08:00 via iPhone
    @gxgxxn 如果你懂 js 的话可以改寿星 那个开源而且准确度高 真正的万年历 现在很多所谓的万年历最多到 2500 年就完事儿了
    AmrtaShiva
        14
    AmrtaShiva  
       2020-09-30 08:34:17 +08:00 via iPhone
    @AmrtaShiva 不是 2500 是 2150
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5424 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 06:39 · PVG 14:39 · LAX 23:39 · JFK 02:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.