我是个切图仔,要做日历,想在前端生成农历,理想情况是有农历算法直接转换,但是查阅资料后发现农历不是绝对规律的,还会根据天文观测做特殊处理(闰月),所以想问问有没有靠谱的转农历算法推荐,github 上以 lunar 关键词搜了下,似乎都没什么维护了
或者不是自己换算,而是有什么官方提供的查询接口吗(我在想 p 吃)?
1
gxgxxn 2020-09-29 14:45:45 +08:00
长期的算法应该没有吧,不过我国的历书是由紫台发布,虽然有个网站但是感觉很老了,刚才看了一下似乎还不能访问了。http://almanac.pmo.ac.cn/
|
2
Mutoo 2020-09-29 14:46:49 +08:00
农历是天文官每隔 N 年手工编排的,没有算法。
|
4
AmrtaShiva 2020-09-29 14:48:27 +08:00 via Android
@gxgxxn #1 这个每年只发布当年的
|
5
Chry3anthemum 2020-09-29 14:48:52 +08:00
找紫金山天文台
|
6
AmrtaShiva 2020-09-29 14:50:28 +08:00 via Android
目前没有算法 有个五虎盾元可以根据年干支计算月干支 五鼠盾元 可以根据日干支计算时辰干支 日干支计算基本没有固定的规律 因为设计到望朔 自己写的话 后端一个多月能写出来都是快的
|
7
Anshi OP |
8
gxgxxn 2020-09-29 15:08:39 +08:00
@AmrtaShiva 应该是到后一年吧,太久了也不准确,只能做参考。这个毕竟是根据天体运行来编排的,要用历史观测资料不断修正。
|
9
AmrtaShiva 2020-09-30 00:25:19 +08:00 via Android
@gxgxxn #8 我今年发邮件要出来的只有本年农历 所以自己写了一个 省的求人 dog
|
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
|
11
gxgxxn 2020-09-30 08:17:46 +08:00
@AmrtaShiva 具体怎么推算不是很清楚,但是和天体的位置肯定有关,所以我认为如过要追求准确的可以使用 DE 历表来计算天体位置,进而推算节气、闰月。DE 历表是 JPL 发布的行星历表,大概是目前最精确的行星历表了。
|
12
AmrtaShiva 2020-09-30 08:32:13 +08:00 via iPhone
@gxgxxn 古人有一套自己的推算方法 在唐朝叫乙巳 景祐年间也有类似的 之前的好多遗失了 现在科技好多都是其他国家根据星体运动算出来的数据
|
13
AmrtaShiva 2020-09-30 08:33:44 +08:00 via iPhone
@gxgxxn 如果你懂 js 的话可以改寿星 那个开源而且准确度高 真正的万年历 现在很多所谓的万年历最多到 2500 年就完事儿了
|
14
AmrtaShiva 2020-09-30 08:34:17 +08:00 via iPhone
@AmrtaShiva 不是 2500 是 2150
|