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

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

  •  1
     
  •   Anshi · 2020 年 9 月 29 日 · 2096 次点击
    这是一个创建于 1936 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    @AmrtaShiva 好吧,谢谢老铁解惑
    gxgxxn
        8
    gxgxxn  
       2020 年 9 月 29 日
    @AmrtaShiva 应该是到后一年吧,太久了也不准确,只能做参考。这个毕竟是根据天体运行来编排的,要用历史观测资料不断修正。
    AmrtaShiva
        9
    AmrtaShiva  
       2020 年 9 月 30 日 via Android
    @gxgxxn #8 我今年发邮件要出来的只有本年农历 所以自己写了一个 省的求人 dog
    laocaixw
        10
    laocaixw  
       2020 年 9 月 30 日 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 年 9 月 30 日
    @AmrtaShiva 具体怎么推算不是很清楚,但是和天体的位置肯定有关,所以我认为如过要追求准确的可以使用 DE 历表来计算天体位置,进而推算节气、闰月。DE 历表是 JPL 发布的行星历表,大概是目前最精确的行星历表了。
    AmrtaShiva
        12
    AmrtaShiva  
       2020 年 9 月 30 日 via iPhone
    @gxgxxn 古人有一套自己的推算方法 在唐朝叫乙巳 景祐年间也有类似的 之前的好多遗失了 现在科技好多都是其他国家根据星体运动算出来的数据
    AmrtaShiva
        13
    AmrtaShiva  
       2020 年 9 月 30 日 via iPhone
    @gxgxxn 如果你懂 js 的话可以改寿星 那个开源而且准确度高 真正的万年历 现在很多所谓的万年历最多到 2500 年就完事儿了
    AmrtaShiva
        14
    AmrtaShiva  
       2020 年 9 月 30 日 via iPhone
    @AmrtaShiva 不是 2500 是 2150
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2313 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:05 · PVG 09:05 · LAX 17:05 · JFK 20:05
    ♥ Do have faith in what you're doing.