From fdac493ceeb085dcc2d5a6d82ed087d8eab8fadd Mon Sep 17 00:00:00 2001 From: 6tail <6tail@6tail.cn> Date: Fri, 17 Sep 2021 21:59:06 +0800 Subject: [PATCH] =?UTF-8?q?v1.2.6=20=E4=BF=AE=E5=A4=8D=E5=85=AC=E5=85=830?= =?UTF-8?q?=E8=87=B34=E5=B9=B4=E8=BD=AC=E9=98=B4=E5=8E=86=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __tests__/Lunar.test.js | 20 ++++++++++++++++++++ lunar.js | 14 +++++++++++++- package.json | 2 +- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/__tests__/Lunar.test.js b/__tests__/Lunar.test.js index f6196d1..a5343ce 100644 --- a/__tests__/Lunar.test.js +++ b/__tests__/Lunar.test.js @@ -510,3 +510,23 @@ test('test038', () => { const lunar = Lunar.fromYmd(7013, -11, 4); expect(lunar.getSolar().toString()).toBe('7013-12-24'); }); + +test('test041', () => { + const solar = Solar.fromYmd(4, 2, 10); + expect(solar.getLunar().getYearShengXiao()).toBe('鼠'); +}); + +test('test042', () => { + const solar = Solar.fromYmd(4, 2, 9); + expect(solar.getLunar().getYearShengXiao()).toBe('猪'); +}); + +test('test043', () => { + const solar = Solar.fromYmd(1, 2, 12); + expect(solar.getLunar().getYearShengXiao()).toBe('鸡'); +}); + +test('test044', () => { + const solar = Solar.fromYmd(1, 1, 1); + expect(solar.getLunar().getYearShengXiao()).toBe('猴'); +}); diff --git a/lunar.js b/lunar.js index e398703..9f68bc3 100644 --- a/lunar.js +++ b/lunar.js @@ -352,6 +352,14 @@ var yearGanIndex = offset % 10; var yearZhiIndex = offset % 12; + if (yearGanIndex < 0) { + yearGanIndex += 10; + } + + if (yearZhiIndex < 0) { + yearZhiIndex += 12; + } + //以立春作为新一年的开始的干支纪年 var g = yearGanIndex; var z = yearZhiIndex; @@ -827,6 +835,10 @@ jq = '立春'; }else if('DA_XUE'===jq){ jq = '大雪'; + }else if('YU_SHUI'===jq){ + jq = "雨水"; + }else if('JING_ZHE'===jq){ + jq = "惊蛰"; } return jq; }, @@ -1448,7 +1460,7 @@ }; return { JIE_QI: ['冬至','小寒','大寒','立春','雨水','惊蛰','春分','清明','谷雨','立夏','小满','芒种','夏至','小暑','大暑','立秋','处暑','白露','秋分','寒露','霜降','立冬','小雪','大雪'], - JIE_QI_IN_USE: ['DA_XUE', '冬至', '小寒', '大寒', '立春', '雨水', '惊蛰', '春分', '清明', '谷雨', '立夏', '小满', '芒种', '夏至', '小暑', '大暑', '立秋', '处暑', '白露', '秋分', '寒露', '霜降', '立冬', '小雪', '大雪', 'DONG_ZHI', 'XIAO_HAN', 'DA_HAN', 'LI_CHUN'], + JIE_QI_IN_USE: ['DA_XUE', '冬至', '小寒', '大寒', '立春', '雨水', '惊蛰', '春分', '清明', '谷雨', '立夏', '小满', '芒种', '夏至', '小暑', '大暑', '立秋', '处暑', '白露', '秋分', '寒露', '霜降', '立冬', '小雪', '大雪', 'DONG_ZHI', 'XIAO_HAN', 'DA_HAN', 'LI_CHUN', 'YU_SHUI', 'JING_ZHE'], fromYmdHms:function(y,m,d,hour,minute,second){return _fromYmdHms(y,m,d,hour,minute,second);}, fromYmd:function(y,m,d){return _fromYmdHms(y,m,d,0,0,0);}, fromDate:function(date){return _fromDate(date);} diff --git a/package.json b/package.json index bffff92..cac5152 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lunar-javascript", - "version": "1.2.5", + "version": "1.2.6", "description": "lunar is a calendar library for Solar and Chinese Lunar.", "main": "index.js", "scripts": {