diff --git a/README.md b/README.md index 67eb1df..52986c4 100644 --- a/README.md +++ b/README.md @@ -55,14 +55,10 @@ lunar是一个无依赖的支持阳历和阴历的日历工具库。 public class LunarSample{ public static void main(String[] args){ //今天 - Lunar date = new Lunar(); - //输出阴历信息 - System.out.println(date.toFullString()); - //输出阳历信息 - System.out.println(date.getSolar().toFullString()); - System.out.println(); + //Lunar date = new Lunar(); + //指定阴历的某一天 - date = new Lunar(1986,4,21); + Lunar date = new Lunar(1986,4,21); System.out.println(date.toFullString()); System.out.println(date.getSolar().toFullString()); } @@ -70,10 +66,7 @@ lunar是一个无依赖的支持阳历和阴历的日历工具库。 输出结果: - 贰零壹陆年捌月初八 丙申(猴)年丁酉月癸巳日 北方玄武 斗木獬 彭祖百忌[癸不词讼理弱敌强 巳不远行财物伏藏] 喜神方位[巽](东南) 阳贵神方位[巽](东南) 阴贵神方位[震](正东) 福神方位[兑](正西) 财神方位[离](正南) 冲[(丁亥)猪] 刹[东] - 2016-09-08 闰年 星期四 (世界扫盲日) 处女座 - - 壹玖捌陆年肆月廿一 丙寅(虎)年癸巳月癸酉日 北方玄武 危月燕 彭祖百忌[癸不词讼理弱敌强 酉不会客醉坐颠狂] 喜神方位[巽](东南) 阳贵神方位[巽](东南) 阴贵神方位[震](正东) 福神方位[兑](正西) 财神方位[离](正南) 冲[(丁卯)兔] 刹[东] + 壹玖捌陆年肆月廿一 丙寅(虎)年 癸巳(蛇)月 癸酉(鸡)日 纳音[炉中火 长流水 剑锋金] 北方玄武 危月燕 彭祖百忌[癸不词讼理弱敌强 酉不会客醉坐颠狂] 喜神方位[巽](东南) 阳贵神方位[巽](东南) 阴贵神方位[震](正东) 福神方位[兑](正西) 财神方位[离](正南) 冲[(丁卯)兔] 刹[东] 1986-05-29 星期四 双子座 ## 文档 diff --git a/README_EN.md b/README_EN.md index d072d98..1aa5158 100644 --- a/README_EN.md +++ b/README_EN.md @@ -55,14 +55,10 @@ If you will use jars in your projects, I suggest you to download latest snapshot public class LunarSample{ public static void main(String[] args){ //今天 - Lunar date = new Lunar(); - //输出阴历信息 - System.out.println(date.toFullString()); - //输出阳历信息 - System.out.println(date.getSolar().toFullString()); - System.out.println(); + //Lunar date = new Lunar(); + //指定阴历的某一天 - date = new Lunar(1986,4,21); + Lunar date = new Lunar(1986,4,21); System.out.println(date.toFullString()); System.out.println(date.getSolar().toFullString()); } @@ -70,10 +66,7 @@ If you will use jars in your projects, I suggest you to download latest snapshot Output: - 贰零壹陆年捌月初八 丙申(猴)年丁酉月癸巳日 北方玄武 斗木獬 彭祖百忌[癸不词讼理弱敌强 巳不远行财物伏藏] 喜神方位[巽](东南) 阳贵神方位[巽](东南) 阴贵神方位[震](正东) 福神方位[兑](正西) 财神方位[离](正南) 冲[(丁亥)猪] 刹[东] - 2016-09-08 闰年 星期四 (世界扫盲日) 处女座 - - 壹玖捌陆年肆月廿一 丙寅(虎)年癸巳月癸酉日 北方玄武 危月燕 彭祖百忌[癸不词讼理弱敌强 酉不会客醉坐颠狂] 喜神方位[巽](东南) 阳贵神方位[巽](东南) 阴贵神方位[震](正东) 福神方位[兑](正西) 财神方位[离](正南) 冲[(丁卯)兔] 刹[东] + 壹玖捌陆年肆月廿一 丙寅(虎)年 癸巳(蛇)月 癸酉(鸡)日 纳音[炉中火 长流水 剑锋金] 北方玄武 危月燕 彭祖百忌[癸不词讼理弱敌强 酉不会客醉坐颠狂] 喜神方位[巽](东南) 阳贵神方位[巽](东南) 阴贵神方位[震](正东) 福神方位[兑](正西) 财神方位[离](正南) 冲[(丁卯)兔] 刹[东] 1986-05-29 星期四 双子座 ## Documentation diff --git a/src/main/java/com/nlf/calendar/Lunar.java b/src/main/java/com/nlf/calendar/Lunar.java index 58b5945..384548b 100644 --- a/src/main/java/com/nlf/calendar/Lunar.java +++ b/src/main/java/com/nlf/calendar/Lunar.java @@ -136,29 +136,97 @@ public class Lunar{ * 获取年份的天干 * * @return 天干,如辛 + * @deprecated 使用getYearGan */ public String getGan(){ return LunarUtil.GAN[(year-4)%10+1]; } + /** + * 获取年份的天干 + * + * @return 天干,如辛 + */ + public String getYearGan(){ + return LunarUtil.GAN[(year-4)%10+1]; + } + /** * 获取年份的地支 * * @return 地支,如亥 + * @deprecated 使用getYearZhi */ public String getZhi(){ return LunarUtil.ZHI[(year-4)%12+1]; } /** - * 获取生肖 + * 获取年份的地支 * - * @return 生肖,如虎 + * @return 地支,如亥 + */ + public String getYearZhi(){ + return LunarUtil.ZHI[(year-4)%12+1]; + } + + /** + * 获取干支纪年 + * @return 年份的干支,如辛亥 + */ + public String getYearInGanZhi(){ + return getYearGan()+getYearZhi(); + } + + /** + * 获取年生肖 + * + * @return 年生肖,如虎 + * @deprecated 使用getYearShengXiao */ public String getShengxiao(){ return LunarUtil.SHENGXIAO[(year-4)%12+1]; } + /** + * 获取年生肖 + * + * @return 年生肖,如虎 + */ + public String getYearShengXiao(){ + return LunarUtil.SHENGXIAO[(year-4)%12+1]; + } + + /** + * 获取月生肖 + * + * @return 月生肖,如虎 + */ + public String getMonthShengXiao(){ + String zhi = getMonthZhi(); + for(int i=0,j=LunarUtil.ZHI.length;i NAYIN = new HashMap(){ + private static final long serialVersionUID = -1; + { + put("甲子","海中金"); + put("甲午","沙中金"); + put("丙寅","炉中火"); + put("丙申","山下火"); + put("戊辰","大林木"); + put("戊戌","平地木"); + put("庚午","路旁土"); + put("庚子","壁上土"); + put("壬申","剑锋金"); + put("壬寅","金箔金"); + put("甲戌","山头火"); + put("甲辰","覆灯火"); + put("丙子","涧下水"); + put("丙午","天河水"); + put("戊寅","城头土"); + put("戊申","大驿土"); + put("庚辰","白蜡金"); + put("庚戌","钗钏金"); + put("壬午","杨柳木"); + put("壬子","桑柘木"); + put("甲申","泉中水"); + put("甲寅","大溪水"); + put("丙戌","屋上土"); + put("丙辰","沙中土"); + put("戊子","霹雳火"); + put("戊午","天上火"); + put("庚寅","松柏木"); + put("庚申","石榴木"); + put("壬辰","长流水"); + put("壬戌","大海水"); + put("乙丑","海中金"); + put("乙未","沙中金"); + put("丁卯","炉中火"); + put("丁酉","山下火"); + put("己巳","大林木"); + put("己亥","平地木"); + put("辛未","路旁土"); + put("辛丑","壁上土"); + put("癸酉","剑锋金"); + put("癸卯","金箔金"); + put("乙亥","山头火"); + put("乙巳","覆灯火"); + put("丁丑","涧下水"); + put("丁未","天河水"); + put("己卯","城头土"); + put("己酉","大驿土"); + put("辛巳","白蜡金"); + put("辛亥","钗钏金"); + put("癸未","杨柳木"); + put("癸丑","桑柘木"); + put("乙酉","泉中水"); + put("乙卯","大溪水"); + put("丁亥","屋上土"); + put("丁巳","沙中土"); + put("己丑","霹雳火"); + put("己未","天上火"); + put("辛卯","松柏木"); + put("辛酉","石榴木"); + put("癸巳","长流水"); + put("癸亥","大海水"); + } + }; + protected LunarUtil(){} /** diff --git a/src/test/java/test/LunarTest.java b/src/test/java/test/LunarTest.java index 9d3f43b..f54b0ef 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 星期三 (劳动节) 金牛座",date.getSolar().toFullString()); } diff --git a/src/test/java/test/SolarTest.java b/src/test/java/test/SolarTest.java index bd5d7bd..276de41 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 星期三 (劳动节) 金牛座",date.toFullString()); Assert.assertEquals("贰零壹玖年叁月廿七",date.getLunar().toString()); - Assert.assertEquals("贰零壹玖年叁月廿七 己亥(猪)年戊辰月戊戌日 (七殿泰山王诞) 西方白虎 娄金狗 彭祖百忌[戊不受田田主不祥 戌不吃犬作怪上床] 喜神方位[巽](东南) 阳贵神方位[艮](东北) 阴贵神方位[坤](西南) 福神方位[坎](正北) 财神方位[坎](正北) 冲[(壬辰)龙] 刹[北]",date.getLunar().toFullString()); + Assert.assertEquals("贰零壹玖年叁月廿七 己亥(猪)年 戊辰(龙)月 戊戌(狗)日 纳音[平地木 大林木 平地木] (七殿泰山王诞) 西方白虎 娄金狗 彭祖百忌[戊不受田田主不祥 戌不吃犬作怪上床] 喜神方位[巽](东南) 阳贵神方位[艮](东北) 阴贵神方位[坤](西南) 福神方位[坎](正北) 财神方位[坎](正北) 冲[(壬辰)龙] 刹[北]",date.getLunar().toFullString()); } }