Skip to content

一个基于数据的农历微服务,a lunar calendar based on datas,符合gb33661 ,超长日历公元前3000-公元后3000年,使用vsop87d行星算法数据来计算节气,返回农历,干支,节气信息。a lunar service on nodejs. Compliance gb33661,from b.c3000-a.d 3000 clender,using vsop87d planet data.

Notifications You must be signed in to change notification settings

songyx/cloudLunar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cloudLunar -- 一个基于数据而不是基于算法的农历 a lunar calendar based on data instead of caculate.

A.cloudLunar 简介:

符合国标 gb33661 ;

超长日历! 公元前3000-公元后3000年;

使用vsop87d行星算法数据来计算节气;

返回农历,干支,节气信息。

a lunar service on nodejs.

Compliance gb33661;

from b.c3000-a.d 3000 calendar;

using vsop87d planet data.

B.1运行方法1,作为service运行:

将运行独立web进程,可以通过httprest进行交互。 后继版本会做个docker出来。

npm install restify
node ./src/api/lunarApi.js

访问:

http://127.0.0.1:8080/lunar/2022-05-17


{"year":"2022","month":"4","date":17,"status":"200","msg":"ok","input":"2022-05-17","dx":"x","run":false,"cnyear":"二零二二","cnmonth":"四","cndate":"十七","gz":"壬寅","sx":"虎","cndx":"小","datecnstr":"二零二二(壬寅)虎年 四月(小) 十七","jq":"lx","jqdate":"2022-05-05","jqdays":13,"cnjq":"立夏","jqcnstr":"立夏 第13天","cnstr":"二零二二(壬寅)虎年 四月(小) 十七 立夏 第13天"}

B.2运行方法2,直接调用:

注意,加载数据大约22万条,会消耗300~500ms时间。 最好独立加载,而不是每次调用getLunar时加载,那样效率太低了。 因为要加载从公元前3000年到公元后3000年的数据,才能保证正确的计算。

import {loadData} from './src/service/dataloader.js'
import {getLunar} from './src/service/lunarService.js'

await loadData();

console.log(getLunar('2022-05-12'));

C返回报文数据结构


 * {
 * //---报文头部数据
 * "input":"2078-03-01",
 * "status":"200",                                     //200 ok,404没有对应数据,500数据错误;
 * "msg":"ok",
 * //---日期报文
 * "year":"2078",                                      //农历年份
 * "month":"1",                                        //农历月份
 * "date":18,                                          //农历日期
 * "dx":"d",                                           //月份大小 x:小 d:大
 * "run":false,                                        //是否闰月 true/false
 * "cnyear":"二零七八",
 * "cnmonth":"正",
 * "cndate":"十八",
 * "cndx":"大",
 * "gz":"戊戌",                                        //年份的干支
 * "sx":"狗",                                          //年份属相
 * "datecnstr":"二零七八(戊戌)狗年 正月(大) 十八",       //日期中文描述
 * //---节气报文
 * "jq":"ys",                                          //节气id 英文(节气拼音首字母,实例为 雨水。注:24节气拼音首字母组合不重复。)
 * "jqdate":"2078-02-18",                              //节气对应的公历日期
 * "jqdays":12,                                        //输入日期距离节气的天数,注意:输入永远在节气之后或者节气当天。
 * "cnjq":"雨水",
 * "jqcnstr":"雨水 第12天",                             //节气中文描述
 * "cnstr":"二零七八(戊戌)狗年 正月(大) 十八 雨水 第12天" //日期+节气的中文描述
 * }
 * 
 */

About

一个基于数据的农历微服务,a lunar calendar based on datas,符合gb33661 ,超长日历公元前3000-公元后3000年,使用vsop87d行星算法数据来计算节气,返回农历,干支,节气信息。a lunar service on nodejs. Compliance gb33661,from b.c3000-a.d 3000 clender,using vsop87d planet data.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages