v1.2.33 修复SolarWeek获取跨月天为NaN的问题。
This commit is contained in:
@@ -46,3 +46,13 @@ test('13', () => {
|
|||||||
var solar = Solar.fromYmd(1996, 3, 25);
|
var solar = Solar.fromYmd(1996, 3, 25);
|
||||||
expect(solar.getFestivals() + '').toBe('全国中小学生安全教育日');
|
expect(solar.getFestivals() + '').toBe('全国中小学生安全教育日');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('14', () => {
|
||||||
|
const solar = Solar.fromYmd(1583, 1, 13);
|
||||||
|
expect(solar.getLunar().toString()).toBe('一五八二年腊月二十');
|
||||||
|
});
|
||||||
|
|
||||||
|
test('15', () => {
|
||||||
|
const solar = Solar.fromYmd(1583, 1, 14);
|
||||||
|
expect(solar.getLunar().toString()).toBe('一五八二年腊月廿一');
|
||||||
|
});
|
||||||
|
|||||||
@@ -1,13 +1,37 @@
|
|||||||
var {SolarSeason} = require('../lunar');
|
var {SolarMonth} = require('../lunar');
|
||||||
|
|
||||||
test('toString()', () => {
|
test('toString()', () => {
|
||||||
const season = SolarSeason.fromYm(2019, 5);
|
const month = SolarMonth.fromYm(2019, 5);
|
||||||
expect(season.toString()).toBe('2019.2');
|
expect(month.toString()).toBe('2019-5');
|
||||||
expect(season.next(1).toString()).toBe('2019.3');
|
expect(month.next(1).toString()).toBe('2019-6');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('toFullString()', () => {
|
test('toFullString()', () => {
|
||||||
const season = SolarSeason.fromYm(2019, 5);
|
const month = SolarMonth.fromYm(2019, 5);
|
||||||
expect(season.toFullString()).toBe('2019年2季度');
|
expect(month.toFullString()).toBe('2019年5月');
|
||||||
expect(season.next(1).toFullString()).toBe('2019年3季度');
|
expect(month.next(1).toFullString()).toBe('2019年6月');
|
||||||
|
});
|
||||||
|
|
||||||
|
test('test1', () => {
|
||||||
|
const month = SolarMonth.fromYm(2022, 7);
|
||||||
|
const weeks = month.getWeeks(0);
|
||||||
|
const lastWeek = weeks[weeks.length - 1];
|
||||||
|
const days = lastWeek.getDays();
|
||||||
|
expect(days[0].toFullString()).toBe('2022-07-31 00:00:00 星期日 狮子座');
|
||||||
|
});
|
||||||
|
|
||||||
|
test('test2', () => {
|
||||||
|
const month = SolarMonth.fromYm(2022, 7);
|
||||||
|
const weeks = month.getWeeks(0);
|
||||||
|
const lastWeek = weeks[weeks.length - 1];
|
||||||
|
const days = lastWeek.getDays();
|
||||||
|
expect(days[1].toFullString()).toBe('2022-08-01 00:00:00 星期一 (建军节) 狮子座');
|
||||||
|
});
|
||||||
|
|
||||||
|
test('test3', () => {
|
||||||
|
const month = SolarMonth.fromYm(2022, 7);
|
||||||
|
const weeks = month.getWeeks(0);
|
||||||
|
const lastWeek = weeks[weeks.length - 1];
|
||||||
|
const days = lastWeek.getDays();
|
||||||
|
expect(days[6].toFullString()).toBe('2022-08-06 00:00:00 星期六 狮子座');
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
var {SolarMonth} = require('../lunar');
|
var {SolarSeason} = require('../lunar');
|
||||||
|
|
||||||
test('toString()', () => {
|
test('toString()', () => {
|
||||||
const month = SolarMonth.fromYm(2019, 5);
|
const season = SolarSeason.fromYm(2019, 5);
|
||||||
expect(month.toString()).toBe('2019-5');
|
expect(season.toString()).toBe('2019.2');
|
||||||
expect(month.next(1).toString()).toBe('2019-6');
|
expect(season.next(1).toString()).toBe('2019.3');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('toFullString()', () => {
|
test('toFullString()', () => {
|
||||||
const month = SolarMonth.fromYm(2019, 5);
|
const season = SolarSeason.fromYm(2019, 5);
|
||||||
expect(month.toFullString()).toBe('2019年5月');
|
expect(season.toFullString()).toBe('2019年2季度');
|
||||||
expect(month.next(1).toFullString()).toBe('2019年6月');
|
expect(season.next(1).toFullString()).toBe('2019年3季度');
|
||||||
});
|
});
|
||||||
|
|||||||
17
lunar.js
17
lunar.js
@@ -1945,9 +1945,22 @@
|
|||||||
},
|
},
|
||||||
getWeeks:function(start){
|
getWeeks:function(start){
|
||||||
var l = [];
|
var l = [];
|
||||||
var weeks = SolarUtil.getWeeksOfMonth(this._p.year,this._p.month,start);
|
var cy = this._p.year;
|
||||||
|
var cm = this._p.month;
|
||||||
|
var weeks = SolarUtil.getWeeksOfMonth(cy, cm, start);
|
||||||
|
var days = SolarUtil.getDaysOfMonth(cy, cm);
|
||||||
for(var i = 0;i<weeks;i++){
|
for(var i = 0;i<weeks;i++){
|
||||||
l.push(SolarWeek.fromYmd(this._p.year,this._p.month,1+i*7,start));
|
var y = cy;
|
||||||
|
var m = cm;
|
||||||
|
var d = 1 + i * 7;
|
||||||
|
if (d > days) {
|
||||||
|
d -= days;
|
||||||
|
m++;
|
||||||
|
if (m > 12) {
|
||||||
|
y++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
l.push(SolarWeek.fromYmd(y, m, d, start));
|
||||||
}
|
}
|
||||||
return l;
|
return l;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lunar-javascript",
|
"name": "lunar-javascript",
|
||||||
"version": "1.2.32",
|
"version": "1.2.33",
|
||||||
"description": "lunar is a calendar library for Solar and Chinese Lunar.",
|
"description": "lunar is a calendar library for Solar and Chinese Lunar.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -50,6 +50,5 @@
|
|||||||
"homepage": "https://github.com/6tail/lunar-javascript",
|
"homepage": "https://github.com/6tail/lunar-javascript",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"jest": "^26.6.3"
|
"jest": "^26.6.3"
|
||||||
},
|
}
|
||||||
"dependencies": {}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user