lunar-javascript
Version:
lunar是一款无第三方依赖的公历(阳历)、农历(阴历、老黄历)、佛历和道历工具,支持星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。lunar is a calendar library for Solar and Chinese Lunar.
78 lines (63 loc) • 2.21 kB
JavaScript
var {SolarWeek,SolarUtil,Solar} = require('../lunar');
test('testFromMonday', () => {
const start = 1;
const week = SolarWeek.fromYmd(2019, 5, 1, start);
expect(week.toString()).toBe('2019.5.1');
expect(week.toFullString()).toBe('2019年5月第1周');
expect(SolarUtil.getWeeksOfMonth(week.getYear(), week.getMonth(), start)).toBe(5);
expect(week.getFirstDay().toString()).toBe('2019-04-29');
expect(week.getFirstDayInMonth().toString()).toBe('2019-05-01');
});
test('testFromSunday', () => {
const start = 0;
const week = SolarWeek.fromYmd(2019, 5, 1, start);
expect(week.toString()).toBe('2019.5.1');
expect(week.toFullString()).toBe('2019年5月第1周');
expect(SolarUtil.getWeeksOfMonth(week.getYear(), week.getMonth(), start)).toBe(5);
expect(week.getFirstDay().toString()).toBe('2019-04-28');
expect(week.getFirstDayInMonth().toString()).toBe('2019-05-01');
});
test('test1', () => {
const start = 0;
const week = SolarWeek.fromYmd(2022, 5, 1, start);
expect(week.getIndex()).toBe(1);
});
test('test2', () => {
const start = 2;
const week = SolarWeek.fromYmd(2021, 5, 4, start);
expect(week.getIndex()).toBe(2);
});
test('test3', () => {
const start = 0;
const week = SolarWeek.fromYmd(2022, 3, 6, start);
expect(week.getIndexInYear()).toBe(11);
});
test('test4', () => {
expect(Solar.fromYmd(1129, 11, 17).getWeek()).toBe(0);
});
test('test5', () => {
expect(Solar.fromYmd(1129, 11, 1).getWeek()).toBe(5);
});
test('test6', () => {
expect(Solar.fromYmd(8, 11, 1).getWeek()).toBe(4);
});
test('test7', () => {
expect(Solar.fromYmd(1582, 9, 30).getWeek()).toBe(0);
});
test('test8', () => {
expect(Solar.fromYmd(1582, 1, 1).getWeek()).toBe(1);
});
test('test9', () => {
expect(Solar.fromYmd(1500, 2, 29).getWeek()).toBe(6);
});
test('test10', () => {
expect(Solar.fromYmd(9865, 7, 26).getWeek()).toBe(3);
});
test('test11', () => {
expect(Solar.fromYmd(1961, 9, 30).getWeek()).toBe(6);
expect(Solar.fromYmdHms(1961, 9, 30, 23, 59, 59).getWeek()).toBe(6);
});
test('test12', () => {
expect(Solar.fromYmdHms(2021, 9, 15, 0, 0, 0).getWeek()).toBe(3);
expect(Solar.fromYmdHms(2021, 9, 15, 23, 59, 59).getWeek()).toBe(3);
});