1
0
mirror of synced 2026-04-16 21:38:40 +08:00

Compare commits

..

2 Commits

6 changed files with 395 additions and 178 deletions

1
.gitignore vendored
View File

@@ -2,3 +2,4 @@
*.iml
node_modules/
package-lock.json
.DS_Store

View File

@@ -580,3 +580,13 @@ test('test056', () => {
const lunar = Solar.fromYmd(2021, 3, 21).getLunar();
expect(lunar.getOtherFestivals() + '').toBe('春社');
});
test('test057', () => {
const lunar = Lunar.fromYmd(1582, 9, 18);
expect(lunar.getSolar().toString()).toBe('1582-10-04');
});
test('test058', () => {
const lunar = Lunar.fromYmd(1582, 9, 19);
expect(lunar.getSolar().toString()).toBe('1582-10-15');
});

View File

@@ -56,3 +56,39 @@ test('15', () => {
const solar = Solar.fromYmd(1583, 1, 14);
expect(solar.getLunar().toString()).toBe('一五八二年腊月廿一');
});
test('16', () => {
const solarList = Solar.fromBaZi('丙辰', '丁酉', '丙子', '甲午');
const timeList = [];
solarList.forEach(solar => {
timeList.push(solar.toYmdHms());
})
expect(timeList).toStrictEqual(['1976-09-21 12:00:00', '1916-10-06 12:00:00']);
});
test('17', () => {
const solarList = Solar.fromBaZi('己卯', '辛未', '甲戌', '壬申');
const timeList = [];
solarList.forEach(solar => {
timeList.push(solar.toYmdHms());
})
expect(timeList).toStrictEqual(['1999-07-21 16:00:00', '1939-08-05 16:00:00']);
});
test('18', () => {
const solarList = Solar.fromBaZi('庚子', '戊子', '己卯', '庚午');
const timeList = [];
solarList.forEach(solar => {
timeList.push(solar.toYmdHms());
})
expect(timeList).toStrictEqual(['1960-12-17 12:00:00', '1901-01-01 12:00:00']);
});
test('19', () => {
const solarList = Solar.fromBaZi('庚子', '癸未', '乙丑', '丁亥');
const timeList = [];
solarList.forEach(solar => {
timeList.push(solar.toYmdHms());
})
expect(timeList).toStrictEqual(['2020-07-21 22:00:00', '1960-08-05 22:00:00']);
});

View File

@@ -9,3 +9,84 @@ test('getDaysOfMonth()', () => {
expect(SolarUtil.getDaysOfMonth(2020, 1)).toBe(31);
expect(SolarUtil.getDaysOfMonth(2021, 2)).toBe(28);
});
test('addDays', () => {
var ymd = SolarUtil.addDays(2022,1,1, 1);
expect(ymd.year).toBe(2022);
expect(ymd.month).toBe(1);
expect(ymd.day).toBe(2);
});
test('addDays2', () => {
var ymd = SolarUtil.addDays(2022,1,31, 1);
expect(ymd.year).toBe(2022);
expect(ymd.month).toBe(2);
expect(ymd.day).toBe(1);
});
test('addDays3', () => {
var ymd = SolarUtil.addDays(2022,1,1, 365);
expect(ymd.year).toBe(2023);
expect(ymd.month).toBe(1);
expect(ymd.day).toBe(1);
});
test('addDays4', () => {
var ymd = SolarUtil.addDays(2023,1,1, -365);
expect(ymd.year).toBe(2022);
expect(ymd.month).toBe(1);
expect(ymd.day).toBe(1);
});
test('addDays5', () => {
var ymd = SolarUtil.addDays(1582,10,4, 1);
expect(ymd.year).toBe(1582);
expect(ymd.month).toBe(10);
expect(ymd.day).toBe(15);
});
test('addDays6', () => {
var ymd = SolarUtil.addDays(1582,10,4, 18);
expect(ymd.year).toBe(1582);
expect(ymd.month).toBe(11);
expect(ymd.day).toBe(1);
});
test('addDays7', () => {
var ymd = SolarUtil.addDays(1582,11,1, -18);
expect(ymd.year).toBe(1582);
expect(ymd.month).toBe(10);
expect(ymd.day).toBe(4);
});
test('addDays8', () => {
var ymd = SolarUtil.addDays(1582,11,1, -17);
expect(ymd.year).toBe(1582);
expect(ymd.month).toBe(10);
expect(ymd.day).toBe(15);
});
test('getDaysBetween', () => {
var days = SolarUtil.getDaysBetween(1582, 10, 4, 1582, 10, 15);
expect(days).toBe(1);
});
test('getDaysBetween1', () => {
var days = SolarUtil.getDaysBetween(1582, 10, 4, 1582, 11, 1);
expect(days).toBe(18);
});
test('getDaysBetween2', () => {
var days = SolarUtil.getDaysBetween(1582, 1, 1, 1583, 1, 1);
expect(days).toBe(355);
});
test('getWeek', () => {
var week = SolarUtil.getWeek(1582, 10, 1);
expect(week).toBe(1);
});
test('getWeek1', () => {
var week = SolarUtil.getWeek(1582, 10, 15);
expect(week).toBe(5);
});

443
lunar.js

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{
"name": "lunar-javascript",
"version": "1.2.36",
"version": "1.2.38",
"description": "lunar is a calendar library for Solar and Chinese Lunar.",
"main": "index.js",
"scripts": {