From ced6954a3b857b2ebd8b3edf9b447a594cc625c3 Mon Sep 17 00:00:00 2001 From: 6tail <6tail@6tail.cn> Date: Mon, 6 Apr 2020 19:06:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=B6=E8=BE=B0=E7=BA=B3?= =?UTF-8?q?=E9=9F=B3=E4=BA=94=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- README_EN.md | 2 +- pom.xml | 5 +++-- src/main/java/com/nlf/calendar/Lunar.java | 20 +++++++++++++++++--- src/main/java/com/nlf/calendar/Solar.java | 2 ++ src/test/java/test/LunarTest.java | 2 +- src/test/java/test/SolarTest.java | 2 +- 7 files changed, 26 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index e972a7a..59d13c5 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ lunar是一个无依赖的支持阳历和阴历的日历工具库。 输出结果: - 壹玖捌陆年肆月廿一 丙寅(虎)年 癸巳(蛇)月 癸酉(鸡)日 子时 纳音[炉中火 长流水 剑锋金] 星期四 北方玄武 斗木獬 彭祖百忌[癸不词讼理弱敌强 酉不会客醉坐颠狂] 喜神方位[巽](东南) 阳贵神方位[巽](东南) 阴贵神方位[震](正东) 福神方位[兑](正西) 财神方位[离](正南) 冲[(丁卯)兔] 煞[东] + 壹玖捌陆年肆月廿一 丙寅(虎)年 癸巳(蛇)月 癸酉(鸡)日 子(鼠)时 纳音五行[炉中火 长流水 剑锋金 海中金] 星期四 北方玄武 星宿[斗木獬](吉) 彭祖百忌[癸不词讼理弱敌强 酉不会客醉坐颠狂] 喜神方位[巽](东南) 阳贵神方位[巽](东南) 阴贵神方位[震](正东) 福神方位[兑](正西) 财神方位[离](正南) 冲[(丁卯)兔] 煞[东] 1986-05-29 00:00 星期四 双子座 ## 文档 diff --git a/README_EN.md b/README_EN.md index 80f5239..7299d5d 100644 --- a/README_EN.md +++ b/README_EN.md @@ -66,7 +66,7 @@ If you will use jars in your projects, I suggest you to download latest snapshot Output: - 壹玖捌陆年肆月廿一 丙寅(虎)年 癸巳(蛇)月 癸酉(鸡)日 子时 纳音[炉中火 长流水 剑锋金] 星期四 北方玄武 斗木獬 彭祖百忌[癸不词讼理弱敌强 酉不会客醉坐颠狂] 喜神方位[巽](东南) 阳贵神方位[巽](东南) 阴贵神方位[震](正东) 福神方位[兑](正西) 财神方位[离](正南) 冲[(丁卯)兔] 煞[东] + 壹玖捌陆年肆月廿一 丙寅(虎)年 癸巳(蛇)月 癸酉(鸡)日 子(鼠)时 纳音五行[炉中火 长流水 剑锋金 海中金] 星期四 北方玄武 星宿[斗木獬](吉) 彭祖百忌[癸不词讼理弱敌强 酉不会客醉坐颠狂] 喜神方位[巽](东南) 阳贵神方位[巽](东南) 阴贵神方位[震](正东) 福神方位[兑](正西) 财神方位[离](正南) 冲[(丁卯)兔] 煞[东] 1986-05-29 00:00 星期四 双子座 ## Documentation diff --git a/pom.xml b/pom.xml index be83dfc..22e42d4 100644 --- a/pom.xml +++ b/pom.xml @@ -77,7 +77,8 @@ maven-surefire-plugin 2.5 - true + -Dfile.encoding=UTF-8 + false @@ -139,4 +140,4 @@ ${project.artifactId}-${project.version} - \ No newline at end of file + diff --git a/src/main/java/com/nlf/calendar/Lunar.java b/src/main/java/com/nlf/calendar/Lunar.java index e2d3706..668795e 100644 --- a/src/main/java/com/nlf/calendar/Lunar.java +++ b/src/main/java/com/nlf/calendar/Lunar.java @@ -769,6 +769,14 @@ public class Lunar{ return LunarUtil.NAYIN.get(getDayInGanZhi()); } + /** + * 获取时辰纳音 + * @return 时辰纳音,如剑锋金 + */ + public String getTimeNaYin(){ + return LunarUtil.NAYIN.get(getTimeInGanZhi()); + } + public String toFullString(){ StringBuilder s = new StringBuilder(); s.append(toString()); @@ -786,12 +794,16 @@ public class Lunar{ s.append(getDayShengXiao()); s.append(")日 "); s.append(getTimeZhi()); - s.append("时 纳音["); + s.append("("); + s.append(getTimeShengXiao()); + s.append(")时 纳音五行["); s.append(getYearNaYin()); s.append(" "); s.append(getMonthNaYin()); s.append(" "); s.append(getDayNaYin()); + s.append(" "); + s.append(getTimeNaYin()); s.append("] 星期"); s.append(getWeekInChinese()); for(String f:getFestivals()){ @@ -814,11 +826,13 @@ public class Lunar{ s.append(getGong()); s.append("方"); s.append(getShou()); - s.append(" "); + s.append(" 星宿["); s.append(getXiu()); s.append(getZheng()); s.append(getAnimal()); - s.append(" 彭祖百忌["); + s.append("]("); + s.append(getXiuLuck()); + s.append(") 彭祖百忌["); s.append(getPengZuGan()); s.append(" "); s.append(getPengZuZhi()); diff --git a/src/main/java/com/nlf/calendar/Solar.java b/src/main/java/com/nlf/calendar/Solar.java index a5e7bcc..06f3512 100644 --- a/src/main/java/com/nlf/calendar/Solar.java +++ b/src/main/java/com/nlf/calendar/Solar.java @@ -43,6 +43,8 @@ public class Solar{ public Solar(int year,int month,int day){ calendar = Calendar.getInstance(); calendar.set(year,month-1,day); + calendar.set(Calendar.HOUR_OF_DAY,0); + calendar.set(Calendar.MINUTE,0); this.year = year; this.month = month; this.day = day; diff --git a/src/test/java/test/LunarTest.java b/src/test/java/test/LunarTest.java index 7694e19..f8f1304 100644 --- a/src/test/java/test/LunarTest.java +++ b/src/test/java/test/LunarTest.java @@ -15,7 +15,7 @@ public class LunarTest { public void test(){ Lunar date = new Lunar(2019,3,27); Assert.assertEquals("贰零壹玖年叁月廿七",date.toString()); - Assert.assertEquals("贰零壹玖年叁月廿七 己亥(猪)年 戊辰(龙)月 戊戌(狗)日 子时 纳音[平地木 大林木 平地木] 星期三 (七殿泰山王诞) 西方白虎 参水猿 彭祖百忌[戊不受田田主不祥 戌不吃犬作怪上床] 喜神方位[巽](东南) 阳贵神方位[艮](东北) 阴贵神方位[坤](西南) 福神方位[坎](正北) 财神方位[坎](正北) 冲[(壬辰)龙] 煞[北]",date.toFullString()); + Assert.assertEquals("贰零壹玖年叁月廿七 己亥(猪)年 戊辰(龙)月 戊戌(狗)日 子(鼠)时 纳音五行[平地木 大林木 平地木 海中金] 星期三 (七殿泰山王诞) 西方白虎 星宿[参水猿](吉) 彭祖百忌[戊不受田田主不祥 戌不吃犬作怪上床] 喜神方位[巽](东南) 阳贵神方位[艮](东北) 阴贵神方位[坤](西南) 福神方位[坎](正北) 财神方位[坎](正北) 冲[(壬辰)龙] 煞[北]",date.toFullString()); Assert.assertEquals("2019-05-01",date.getSolar().toString()); Assert.assertEquals("2019-05-01 00:00 星期三 (劳动节) 金牛座",date.getSolar().toFullString()); } diff --git a/src/test/java/test/SolarTest.java b/src/test/java/test/SolarTest.java index b840d2d..4f0b993 100644 --- a/src/test/java/test/SolarTest.java +++ b/src/test/java/test/SolarTest.java @@ -17,7 +17,7 @@ public class SolarTest { Assert.assertEquals("2019-05-01",date.toString()); Assert.assertEquals("2019-05-01 00:00 星期三 (劳动节) 金牛座",date.toFullString()); Assert.assertEquals("贰零壹玖年叁月廿七",date.getLunar().toString()); - Assert.assertEquals("贰零壹玖年叁月廿七 己亥(猪)年 戊辰(龙)月 戊戌(狗)日 酉时 纳音[平地木 大林木 平地木] 星期三 (七殿泰山王诞) 西方白虎 参水猿 彭祖百忌[戊不受田田主不祥 戌不吃犬作怪上床] 喜神方位[巽](东南) 阳贵神方位[艮](东北) 阴贵神方位[坤](西南) 福神方位[坎](正北) 财神方位[坎](正北) 冲[(壬辰)龙] 煞[北]",date.getLunar().toFullString()); + Assert.assertEquals("贰零壹玖年叁月廿七 己亥(猪)年 戊辰(龙)月 戊戌(狗)日 子(鼠)时 纳音五行[平地木 大林木 平地木 海中金] 星期三 (七殿泰山王诞) 西方白虎 星宿[参水猿](吉) 彭祖百忌[戊不受田田主不祥 戌不吃犬作怪上床] 喜神方位[巽](东南) 阳贵神方位[艮](东北) 阴贵神方位[坤](西南) 福神方位[坎](正北) 财神方位[坎](正北) 冲[(壬辰)龙] 煞[北]",date.getLunar().toFullString()); } }