lunisolar
Version:
专业农历库,支持公历阴历互转,支持各类黄历数据查询,如八字四柱、阴历、神煞宜忌、时辰吉凶、建除十二神、胎神占方、五行纳音等。支持自定义插件。
36 lines (30 loc) • 1.53 kB
text/typescript
import { dateDiff, lunarDateDiff } from '../../src/utils/dateDiff'
import { Lunisolar } from '../../src/class/lunisolar'
describe('test dateDiff', () => {
it('test dateDiff', () => {
const date1 = new Date('2020/01/01 00:00:00')
const date2 = new Date('2020/01/02 00:00:00')
expect(dateDiff(date1, date2)).toBe(86400000)
expect(dateDiff(date1, date2, 'ms')).toBe(86400000)
expect(dateDiff(date1, date2, 's')).toBe(86400)
expect(dateDiff(date1, date2, 'm')).toBe(86400 / 60)
expect(dateDiff(date1, date2, 'h')).toBe(24)
const m1 = new Lunisolar('2021/01/01 00:00:00')
const m2 = new Lunisolar('2021/02/02 00:00:00')
expect(dateDiff(m1, m2, 'M')).toBe(1)
})
it('test lunarDateDiff', () => {
const lsr1 = new Lunisolar('2018/01/01 00:00:00') // 2017十一月十五 大
const lsr2 = new Lunisolar('2022/02/02 00:00:00') // 2022正月初二 大
expect(lunarDateDiff(lsr1, lsr2, 'ly')).toBe(5)
expect(lunarDateDiff(lsr1, lsr2, 'lM')).toBe(51)
const lsr3 = new Lunisolar('2018/02/10 00:00:00') // 2017十二月廿五 大
expect(lunarDateDiff(lsr3, lsr2, 'lM')).toBe(50)
expect(lunarDateDiff(lsr3, lsr2, 'lM', true).toFixed(3)).toBe('49.233')
const lsr4 = new Lunisolar('2018/02/16 00:00:00') // 2018正月初一 小
expect(lunarDateDiff(lsr3, lsr4, 'ly')).toBe(1)
expect(lunarDateDiff(lsr3, lsr4, 'ly', true).toFixed(3)).toBe('0.016')
expect(lunarDateDiff(lsr3, lsr4, 'ld')).toBe(6)
expect(lunarDateDiff(lsr3, lsr4, 'lh')).toBe(72)
})
})