lunar-javascript
Version:
lunar是一款无第三方依赖的公历(阳历)、农历(阴历、老黄历)、佛历和道历工具,支持星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。lunar is a calendar library for Solar and Chinese Lunar.
61 lines (54 loc) • 1.98 kB
JavaScript
var {Solar, Lunar} = require('../lunar');
it('起运', () => {
const solar = Solar.fromYmdHms(1981, 1, 29, 23, 37, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
const yun = eightChar.getYun(0);
expect(yun.getStartYear()).toBe(8);
expect(yun.getStartMonth()).toBe(0);
expect(yun.getStartDay()).toBe(20);
expect(yun.getStartSolar().toYmd()).toBe('1989-02-18');
});
it('test2', () => {
const lunar = Lunar.fromYmdHms(2019, 12, 12, 11, 22, 0);
const eightChar = lunar.getEightChar();
const yun = eightChar.getYun(1);
expect(yun.getStartYear()).toBe(0);
expect(yun.getStartMonth()).toBe(1);
expect(yun.getStartDay()).toBe(0);
expect(yun.getStartSolar().toYmd()).toBe('2020-02-06');
});
it('test3', () => {
const solar = Solar.fromYmdHms(2020, 1, 6, 11, 22, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
const yun = eightChar.getYun(1);
expect(yun.getStartYear()).toBe(0);
expect(yun.getStartMonth()).toBe(1);
expect(yun.getStartDay()).toBe(0);
expect(yun.getStartSolar().toYmd()).toBe('2020-02-06');
});
it('test4', () => {
const solar = Solar.fromYmdHms(2022, 3, 9, 20, 51, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
const yun = eightChar.getYun(1);
expect(yun.getStartSolar().toYmd()).toBe('2030-12-19');
});
it('test5', () => {
const solar = Solar.fromYmdHms(2022, 3, 9, 20, 51, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
const yun = eightChar.getYun(1, 2);
expect(yun.getStartYear()).toBe(8);
expect(yun.getStartMonth()).toBe(9);
expect(yun.getStartDay()).toBe(2);
expect(yun.getStartSolar().toYmd()).toBe('2030-12-12');
});
it('test6', () => {
const solar = Solar.fromYmdHms(2018, 6, 11, 9, 30, 0);
const lunar = solar.getLunar();
const eightChar = lunar.getEightChar();
const yun = eightChar.getYun(0, 2);
expect(yun.getStartSolar().toYmd()).toBe('2020-03-21');
});