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

Compare commits

...

7 Commits

10 changed files with 903 additions and 332 deletions

1
.gitignore vendored
View File

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

View File

@@ -59,4 +59,4 @@ lunar是一款无第三方依赖的公历(阳历)、农历(阴历、老黄历)
## 文档
请移步至 [http://6tail.cn/calendar/api.html](http://6tail.cn/calendar/api.html "http://6tail.cn/calendar/api.html")
请移步至 [https://6tail.cn/calendar/api.html](https://6tail.cn/calendar/api.html "https://6tail.cn/calendar/api.html")

View File

@@ -59,4 +59,4 @@ Output:
## Documentation
Please visit [http://6tail.cn/calendar/api.html](http://6tail.cn/calendar/api.html "http://6tail.cn/calendar/api.html")
Please visit [https://6tail.cn/calendar/api.html](https://6tail.cn/calendar/api.html "https://6tail.cn/calendar/api.html")

View File

@@ -413,16 +413,6 @@ test('test022', () => {
expect(lunar.getSolar().toString()).toBe('2033-12-22');
});
test('test023', () => {
const lunar = Lunar.fromYmd(2022, 1, 1);
expect(lunar.getYearNineStar().toString()).toBe('六白金开阳');
});
test('test024', () => {
const lunar = Lunar.fromYmd(2033, 1, 1);
expect(lunar.getYearNineStar().toString()).toBe('四绿木天权');
});
test('test025', () => {
const solar = Solar.fromYmdHms(2021, 6, 7, 21, 18, 0);
expect(solar.getLunar().toString()).toBe('二〇二一年四月廿七');
@@ -590,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

@@ -0,0 +1,16 @@
const {Solar, Lunar} = require('../lunar');
test('test1', () => {
const lunar = Solar.fromYmd(1985, 2, 19).getLunar();
expect(lunar.getYearNineStar().getNumber()).toBe('六');
});
test('test023', () => {
const lunar = Lunar.fromYmd(2022, 1, 1);
expect(lunar.getYearNineStar().toString()).toBe('六白金开阳');
});
test('test024', () => {
const lunar = Lunar.fromYmd(2033, 1, 1);
expect(lunar.getYearNineStar().toString()).toBe('四绿木天权');
});

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

@@ -1,4 +1,4 @@
var {SolarUtil} = require('../lunar');
var {SolarUtil, Solar} = require('../lunar');
test('isLeapYear()', () => {
expect(SolarUtil.isLeapYear(2020)).toBe(true);
@@ -9,3 +9,84 @@ test('getDaysOfMonth()', () => {
expect(SolarUtil.getDaysOfMonth(2020, 1)).toBe(31);
expect(SolarUtil.getDaysOfMonth(2021, 2)).toBe(28);
});
test('addDays', () => {
var solar = Solar.fromYmd(2022,1,1).next(1);
expect(solar.getYear()).toBe(2022);
expect(solar.getMonth()).toBe(1);
expect(solar.getDay()).toBe(2);
});
test('addDays2', () => {
var solar = Solar.fromYmd(2022,1,31).next(1);
expect(solar.getYear()).toBe(2022);
expect(solar.getMonth()).toBe(2);
expect(solar.getDay()).toBe(1);
});
test('addDays3', () => {
var solar = Solar.fromYmd(2022,1,1).next(365);
expect(solar.getYear()).toBe(2023);
expect(solar.getMonth()).toBe(1);
expect(solar.getDay()).toBe(1);
});
test('addDays4', () => {
var solar = Solar.fromYmd(2023,1,1).next(-365);
expect(solar.getYear()).toBe(2022);
expect(solar.getMonth()).toBe(1);
expect(solar.getDay()).toBe(1);
});
test('addDays5', () => {
var solar = Solar.fromYmd(1582,10,4).next(1);
expect(solar.getYear()).toBe(1582);
expect(solar.getMonth()).toBe(10);
expect(solar.getDay()).toBe(15);
});
test('addDays6', () => {
var solar = Solar.fromYmd(1582,10,4).next(18);
expect(solar.getYear()).toBe(1582);
expect(solar.getMonth()).toBe(11);
expect(solar.getDay()).toBe(1);
});
test('addDays7', () => {
var solar = Solar.fromYmd(1582,11,1).next(-18);
expect(solar.getYear()).toBe(1582);
expect(solar.getMonth()).toBe(10);
expect(solar.getDay()).toBe(4);
});
test('addDays8', () => {
var solar = Solar.fromYmd(1582,11,1).next(-17);
expect(solar.getYear()).toBe(1582);
expect(solar.getMonth()).toBe(10);
expect(solar.getDay()).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 = Solar.fromYmd(1582, 10, 1).getWeek();
expect(week).toBe(1);
});
test('getWeek1', () => {
var week = Solar.fromYmd(1582, 10, 15).getWeek();
expect(week).toBe(5);
});

View File

@@ -83,3 +83,15 @@ test('test14', () => {
const lunar = solar.getLunar();
expect(lunar.getHou()).toBe('立夏 三候');
});
test('test15', () => {
const solar = Solar.fromYmd(2022, 8, 22);
const lunar = solar.getLunar();
expect(lunar.getWuHou()).toBe('寒蝉鸣');
});
test('test16', () => {
const solar = Solar.fromYmd(2022, 8, 23);
const lunar = solar.getLunar();
expect(lunar.getWuHou()).toBe('鹰乃祭鸟');
});

1061
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.34",
"version": "1.3.0",
"description": "lunar is a calendar library for Solar and Chinese Lunar.",
"main": "index.js",
"scripts": {