UNPKG

lunisolar

Version:

专业农历库,支持公历阴历互转,支持各类黄历数据查询,如八字四柱、阴历、神煞宜忌、时辰吉凶、建除十二神、胎神占方、五行纳音等。支持自定义插件。

56 lines (51 loc) 3.29 kB
import { Char8 } from '../../src/class/char8' import * as U from '../../src/utils' describe('Char8', () => { it('Test Char8.computeSBYear', () => { const config = { changeAgeTerm: 2 } expect(Char8.computeSBYear(U.parseDate('2022-02-04'), config).toString()).toBe('壬寅') expect(Char8.computeSBYear(U.parseDate('2022-02-03'), config).toString()).toBe('辛丑') expect(Char8.computeSBYear(U.parseDate('2022-02-03'), { changeAgeTerm: -1 }).toString()).toBe( '壬寅' ) expect(Char8.computeSBYear(U.parseDate('2021-10-03'), config).toString()).toBe('辛丑') expect(Char8.computeSBYear(U.parseDate('2016-4-3'), config).toString()).toBe('丙申') expect(Char8.computeSBYear(U.parseDate('1904-10-4'), config).toString()).toBe('甲辰') expect(Char8.computeSBYear(U.parseDate('2020-01-25'), config).toString()).toBe('己亥') expect(Char8.computeSBYear(U.parseDate('2020-02-03 23:00:01'), config).toString()).toBe('庚子') expect(Char8.computeSBYear(U.parseDate('2020-02-03 22:59:59'), config).toString()).toBe('己亥') expect(Char8.computeSBYear(U.parseDate('2020-01-25'), { changeAgeTerm: null }).toString()).toBe( '庚子' ) }) it('Test Char8.computeSBMonth', () => { expect(Char8.computeSBMonth(U.parseDate('2017-12-01')).toString()).toBe('辛亥') expect(Char8.computeSBMonth(U.parseDate('2017-12-08')).toString()).toBe('壬子') expect(Char8.computeSBMonth(U.parseDate('2019-06-08')).toString()).toBe('庚午') expect(Char8.computeSBMonth(U.parseDate('2022-02-03')).toString()).toBe('辛丑') expect(Char8.computeSBMonth(U.parseDate('2022-02-03 23:00:00')).toString()).toBe('壬寅') expect(Char8.computeSBMonth(U.parseDate('2022-02-04')).toString()).toBe('壬寅') }) it('Test Char8.computeSBDay', () => { expect(Char8.computeSBDay(U.parseDate('2022-03-11')).toString()).toBe('癸亥') expect(Char8.computeSBDay(U.parseDate('2022-03-12')).toString()).toBe('甲子') expect(Char8.computeSBDay(U.parseDate('2022-03-13')).toString()).toBe('乙丑') expect(Char8.computeSBDay(U.parseDate('2017-11-30 23:00:00')).toString()).toBe('壬戌') expect(Char8.computeSBDay(U.parseDate('2017-12-01')).toString()).toBe('壬戌') expect(Char8.computeSBDay(U.parseDate('2017-12-08')).toString()).toBe('己巳') expect(Char8.computeSBDay(U.parseDate('2019-06-08')).toString()).toBe('丙子') expect(Char8.computeSBDay(U.parseDate('1991-02-15')).toString()).toBe('丙辰') expect(Char8.computeSBDay(U.parseDate('2031-08-22')).toString()).toBe('甲午') expect(Char8.computeSBDay(U.parseDate('2031-08-22 23:00:00')).toString()).toBe('乙未') expect(Char8.computeSBDay(U.parseDate('2022-06-23 8:32:00')).toString()).toBe('丁未') }) it('Test Char8.computeSBHour', () => { expect(Char8.computeSBHour(U.parseDate('2022-03-10 23:00:00')).toString()).toBe('壬子') expect(Char8.computeSBHour(U.parseDate('2022-03-11')).toString()).toBe('壬子') expect(Char8.computeSBHour(U.parseDate('2022-06-23 20:32:00')).toString()).toBe('庚戌') expect(Char8.computeSBHour(U.parseDate('2022-06-23 23:32:00')).toString()).toBe('壬子') expect(Char8.computeSBHour(U.parseDate('2005-12-23 8:00:00')).toString()).toBe('壬辰') }) })