1.0.12 • Published 2 years ago

wiz-calendar v1.0.12

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

WizCalendar(巫师万年历)

巫师万年历是一款采用天文算法实现的高精度万年历模块。提供了简便易用的API,清晰易读的面向对像代码设计,可以很容易地开发一个万年历和进行历法研究。 主要参考了寿星万年历。

如何使用:

同时支持javascript和typescript两种语言。 1. 通过npm安装

> npm i wiz-calendar
  1. 导入模块

    javascript导入方式:

    const {WizCalendar, SolarDate, LunarDate, JulianDate, MoonPhase,MoonPhaseName} = require("wiz-calendar");

    typescript导入方式:

    import {WizCalendar, SolarDate, LunarDate, JulianDate, MoonPhase,MoonPhaseName} from 'wiz-calendar';

基本用法:

  1. 阳历转阴历
    //let solar = new SolarDate(1977, 5, 18);
    let solar = WizCalendar.solarDate(1977, 5, 18);
    let lunar: LunarDate = solar.getLunarDate();
    lunar.format('date'); //1977-04-01+0
  2. 阴历转阳历
    //let lunar = new LunarDate(1977,4,1);
    let lunar = WizCalendar.lunarDate(1977,4,1);
    let solar: SolarDate = lunar.getSolarDate(); 
    solar.format('date'); //1977-05-18
  3. 阳历转儒略日
    //let solar = new SolarDate(1977, 5, 18);
    let solar = WizCalendar.solarDate(1977, 5, 18);
    let julian: JulianDate = solar.getJulianDate(); 
    julian.getJD(); //2443282
  4. 阴历转儒略日
    //let lunar = new LunarDate(1977, 4, 1, 12);
    let lunar = WizCalendar.lunarDate(1977,4,1);
    let julian: JulianDate = lunar.getJulianDate(); 
    julian.getJD(); //2443282
  5. 儒略日转阳历
    let mjd = 5225.942824074067; //J2000算起的儒略日
    //let julian = new JulianDate(mjd);
    let julian = WizCalendar.julianDate(mjd);
    let solar: SolarDate = julian.getSolarDate();
    solar.format('datetime'); //2014-04-23 10:37:40
  6. 儒略日转阴历
    let mjd = -8263; //J2000算起的儒略日
    //let julian = new JulianDate(mjd);
    let julian = WizCalendar.julianDate(mjd);
    let lunar: LunarDate = julian.getLunarDate();
    lunar.format('datetime'); //1977-04-01+0 12:00:00
  7. 获取二十四节气
    //let lunar = new LunarDate(1977,4,1);
    let lunar = WizCalendar.lunarDate(1977,4,1);
    let julian: JulianDate = lunar.getSolarTerm(SolarTermName.WinterSolstice);
  8. 阴历干支纪历
    //let lunar = new LunarDate(1977,4,1);
    let lunar = WizCalendar.lunarDate(1977,4,1);
    lunar.getYearStem() + lunar.getYearBranch(); //丁巳
    lunar.getMonthStem() + lunar.getMonthBranch(); //乙巳
    lunar.getDayStem() + lunar.getDayBranch(); //乙亥
  9. 获取命理八字

    //2014-4-23 10:37:40   
    //甲午年 戊辰月 甲子日 己巳时 真太阳 10:24:48
    //let eight = new EightChar(5225.942824074067);
    let eight = WizCalendar.eightChar(5225.942824074067);
    eight.getYear(); //甲午
    eight.getMonth(); //戊辰
    eight.getDay(); //甲子
    eight.getHour(); //己巳
  10. 获取月相(朔望)

    let lunar = WizCalendar.lunarDate(1977,4,1);
    let phase = lunar.getMoonPhase(MoonPhaseName.NewMoon);
    phase.getJulianDate().getMJDN(); //-8263
  11. 获取24节气
    let lunar = WizCalendar.lunarDate(1977,4,1);
    let term = lunar.getSolarTerm(SolarTermName.WinterSolstice);
    term.getJulianDate().getMJDN(); //-8045
  12. 其它略
1.0.11

2 years ago

1.0.12

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.1.0

2 years ago