ytliu0/ChineseCalendar

请问如何获得具体某天的农历时间?

mfyang opened this issue · 3 comments

很棒的工作!

我不知道你说的"农历时间"是指什么。**在1912年改用公历,1929年起以东经120度的区时为标准时间,就是现在的北京时间。2017年官方发布的《农历的编算和颁行》(GB/T 33661-2017)文件明确说明"农历日是从北京时间0时起计量到北京时间24时截止的时间间隔"。如果现在确是有人用"农历时间",而且与北京时间不同,就请你问那些人吧。

不好意思,没表达清楚。 是指您的程序,如何调用某个函数/接口,提供一个公历的具体日期/时间,返回相应的阴历日期/时间?

我的理解您研究了大量资料,实现了各个朝代的历法。

我的理解您研究了大量资料,实现了各个朝代的历法。

我没有时间也没有能力这样做,这个项目只是玩玩而已。编算农历的方法在这里有介绍
https://ytliu0.github.io/ChineseCalendar/computation_simp.html

程序的具体操作主要是用查表法,在calendarData.js档案有函数ChineseToGregorian()返回二维array载有从-105年到2200年农历每月初一在公历的日数和闰月资料,用这array就可以实现公历-农历的转换。1912年前的数据基本上取自张培瑜《三千五百年历日天象》,之后的数据主要用现代农历法则编算。注意这array并没有四次更改正月月建的资料,数据皆以建寅作为起始月,所以改正月月建的那二十多年的历日需要另外处理。-105年前及分裂时代其他朝代的历法则另有函数计算,在ancientCalendars.js和split.js档案可找到。