1
0
mirror of synced 2025-12-09 07:04:07 +08:00

增加吉神方位;增加冲刹。

This commit is contained in:
6tail
2020-04-05 11:07:54 +08:00
parent f053d84a97
commit 3480e75356
6 changed files with 385 additions and 82 deletions

View File

@@ -1,12 +1,12 @@
# lunar [![License](https://img.shields.io/badge/license-MIT-4EB1BA.svg?style=flat-square)](https://github.com/6tail/lunar/blob/master/LICENSE)
lunar is a calendar library for Solar and Chinese Lunar.
lunar是一个无依赖的支持阳历和阴历的日历工具库。
> Support since java 1.5
> 支持java 1.5及以上版本。
[简体中文](https://github.com/6tail/lunar-java/blob/master/README_ZH.md)
[English](https://github.com/6tail/lunar-java/blob/master/README_EN.md)
### Release
### 稳定版本
```xml
<dependency>
@@ -16,7 +16,7 @@ lunar is a calendar library for Solar and Chinese Lunar.
</dependency>
```
### Snapshot
### 快照版本
```xml
<repository>
@@ -38,13 +38,13 @@ lunar is a calendar library for Solar and Chinese Lunar.
</dependency>
```
### Download
### 下载jar
If you will use jars in your projects, I suggest you to download latest snapshot versions with less bugs.
如果使用jar建议下载最新的SNAPSHOT版本bug将得到及时的修复。
[Download](https://oss.sonatype.org/content/groups/public/cn/6tail/lunar/)
## Example
## 示例
import com.nlf.calendar.Lunar;
@@ -68,20 +68,19 @@ If you will use jars in your projects, I suggest you to download latest snapshot
}
}
Output:
输出结果:
丙申年捌月初八 猴年丁酉月癸巳日 北方玄武 斗木獬 彭祖[癸不词讼理弱敌强 巳不远行财物伏藏]
贰零壹陆年捌月初八 丙申(猴)年丁酉月癸巳日 北方玄武 斗木獬 彭祖百忌[癸不词讼理弱敌强 巳不远行财物伏藏] 喜神方位[](东南) 阳贵神方位[](东南) 阴贵神方位[](正东) 福神方位[](正西) 财神方位[](正南) 冲[(丁亥)猪] 刹[东]
2016-09-08 闰年 星期四 (世界扫盲日) 处女座
丙寅年肆月廿一 年癸巳月癸酉日 北方玄武 危月燕 彭祖[癸不词讼理弱敌强 酉不会客醉坐颠狂]
壹玖捌陆年肆月廿一 丙寅(虎)年癸巳月癸酉日 北方玄武 危月燕 彭祖百忌[癸不词讼理弱敌强 酉不会客醉坐颠狂] 喜神方位[](东南) 阳贵神方位[](东南) 阴贵神方位[](正东) 福神方位[](正西) 财神方位[](正南) 冲[(丁卯)兔] 刹[东]
1986-05-29 星期四 双子座
## Documentation
## 文档
Please visit [http://6tail.cn/calendar/api.html](http://6tail.cn/calendar/api.html "http://6tail.cn/calendar/api.html")
请移步至 [http://6tail.cn/calendar/api.html](http://6tail.cn/calendar/api.html "http://6tail.cn/calendar/api.html")
## Contact
## 联系
<a target="_blank" href="https://jq.qq.com/?_wv=1027&k=5F9Pbf0"><img border="0" src="http://pub.idqqimg.com/wpa/images/group.png" alt="lunar" title="lunar"></a>

View File

@@ -1,12 +1,12 @@
# lunar [![License](https://img.shields.io/badge/license-MIT-4EB1BA.svg?style=flat-square)](https://github.com/6tail/lunar/blob/master/LICENSE)
lunar是一个无依赖的支持阳历和阴历的日历工具库。
lunar is a calendar library for Solar and Chinese Lunar.
> 支持java 1.5及以上版本。
> Support since java 1.5
[English](https://github.com/6tail/lunar-java/blob/master/README.md)
[简体中文](https://github.com/6tail/lunar-java/blob/master/README_ZH.md)
### 稳定版本
### Release
```xml
<dependency>
@@ -16,7 +16,7 @@ lunar是一个无依赖的支持阳历和阴历的日历工具库。
</dependency>
```
### 快照版本
### Snapshot
```xml
<repository>
@@ -38,13 +38,13 @@ lunar是一个无依赖的支持阳历和阴历的日历工具库。
</dependency>
```
### 下载jar
### Download
如果使用jar建议下载最新的SNAPSHOT版本bug将得到及时的修复。
If you will use jars in your projects, I suggest you to download latest snapshot versions with less bugs.
[Download](https://oss.sonatype.org/content/groups/public/cn/6tail/lunar/)
## 示例
## Example
import com.nlf.calendar.Lunar;
@@ -68,20 +68,19 @@ lunar是一个无依赖的支持阳历和阴历的日历工具库。
}
}
输出结果:
Output:
丙申年捌月初八 猴年丁酉月癸巳日 北方玄武 斗木獬 彭祖[癸不词讼理弱敌强 巳不远行财物伏藏]
贰零壹陆年捌月初八 丙申(猴)年丁酉月癸巳日 北方玄武 斗木獬 彭祖百忌[癸不词讼理弱敌强 巳不远行财物伏藏] 喜神方位[](东南) 阳贵神方位[](东南) 阴贵神方位[](正东) 福神方位[](正西) 财神方位[](正南) 冲[(丁亥)猪] 刹[东]
2016-09-08 闰年 星期四 (世界扫盲日) 处女座
丙寅年肆月廿一 年癸巳月癸酉日 北方玄武 危月燕 彭祖[癸不词讼理弱敌强 酉不会客醉坐颠狂]
壹玖捌陆年肆月廿一 丙寅(虎)年癸巳月癸酉日 北方玄武 危月燕 彭祖百忌[癸不词讼理弱敌强 酉不会客醉坐颠狂] 喜神方位[](东南) 阳贵神方位[](东南) 阴贵神方位[](正东) 福神方位[](正西) 财神方位[](正南) 冲[(丁卯)兔] 刹[东]
1986-05-29 星期四 双子座
## 文档
## Documentation
请移步至 [http://6tail.cn/calendar/api.html](http://6tail.cn/calendar/api.html "http://6tail.cn/calendar/api.html")
Please visit [http://6tail.cn/calendar/api.html](http://6tail.cn/calendar/api.html "http://6tail.cn/calendar/api.html")
## 联系
## Contact
<a target="_blank" href="https://jq.qq.com/?_wv=1027&k=5F9Pbf0"><img border="0" src="http://pub.idqqimg.com/wpa/images/group.png" alt="lunar" title="lunar"></a>

View File

@@ -22,6 +22,12 @@ public class Lunar{
private int day;
/** 对应阳历 */
private Solar solar;
/** 相对于基准日的偏移天数 */
private int dayOffset;
/** 日对应的天干下标0-10 */
private int dayGanIndex;
/** 日对应的地支下标0-12 */
private int dayZhiIndex;
/**
* 默认使用当前日期初始化
@@ -41,65 +47,73 @@ public class Lunar{
this.year = year;
this.month = month;
this.day = day;
this.dayOffset = LunarUtil.computeAddDays(year,month,day);
int addDays = (dayOffset + LunarUtil.BASE_DAY_GANZHI_INDEX)%60;
dayGanIndex = addDays%10;
dayZhiIndex = addDays%12;
this.solar = toSolar();
}
/**
* 通过日期初始化
* @param date 日期
* 通过阳历日期初始化
* @param date 阳历日期
*/
public Lunar(Date date){
solar = new Solar(date);
int y = solar.getYear();
int m = solar.getMonth();
int d = solar.getDay();
int startY,startM,startD;
int lunarY,lunarM,lunarD;
int startYear,startMonth,startDay;
int lunarYear,lunarMonth,lunarDay;
if(y<2000){
startY = SolarUtil.BASE_YEAR;
startM = SolarUtil.BASE_MONTH;
startD = SolarUtil.BASE_DAY;
lunarY = LunarUtil.BASE_YEAR;
lunarM = LunarUtil.BASE_MONTH;
lunarD = LunarUtil.BASE_DAY;
startYear = SolarUtil.BASE_YEAR;
startMonth = SolarUtil.BASE_MONTH;
startDay = SolarUtil.BASE_DAY;
lunarYear = LunarUtil.BASE_YEAR;
lunarMonth = LunarUtil.BASE_MONTH;
lunarDay = LunarUtil.BASE_DAY;
}else{
startY = SolarUtil.BASE_YEAR+99;
startM = 1;
startD = 1;
lunarY = LunarUtil.BASE_YEAR+99;
lunarM = 11;
lunarD = 25;
startYear = SolarUtil.BASE_YEAR+99;
startMonth = 1;
startDay = 1;
lunarYear = LunarUtil.BASE_YEAR+99;
lunarMonth = 11;
lunarDay = 25;
}
int diff = 0;
for(int i=startY;i<y;i++){
for(int i=startYear;i<y;i++){
diff += 365;
if(SolarUtil.isLeapYear(i)){
diff += 1;
}
}
for(int i=startM;i<m;i++){
for(int i=startMonth;i<m;i++){
diff += SolarUtil.getDaysOfMonth(y,i);
}
diff += d-startD;
lunarD += diff;
int lastDate = LunarUtil.getDaysOfMonth(lunarY,lunarM);
while(lunarD>lastDate){
lunarD -= lastDate;
lunarM = LunarUtil.nextMonth(lunarY,lunarM);
if(lunarM==1){
lunarY++;
diff += d-startDay;
lunarDay += diff;
int lastDate = LunarUtil.getDaysOfMonth(lunarYear,lunarMonth);
while(lunarDay>lastDate){
lunarDay -= lastDate;
lunarMonth = LunarUtil.nextMonth(lunarYear,lunarMonth);
if(lunarMonth==1){
lunarYear++;
}
lastDate = LunarUtil.getDaysOfMonth(lunarY,lunarM);
lastDate = LunarUtil.getDaysOfMonth(lunarYear,lunarMonth);
}
year = lunarY;
month = lunarM;
day = lunarD;
year = lunarYear;
month = lunarMonth;
day = lunarDay;
dayOffset = LunarUtil.computeAddDays(year,month,day);
int addDays = (dayOffset + LunarUtil.BASE_DAY_GANZHI_INDEX)%60;
dayGanIndex = addDays%10;
dayZhiIndex = addDays%12;
}
/**
* 通过指定日期获取农历
* 通过指定阳历日期获取农历
*
* @param date 日期
* @param date 阳历日期
* @return 农历
*/
public static Lunar fromDate(Date date){
@@ -145,6 +159,20 @@ public class Lunar{
return LunarUtil.SHENGXIAO[(year-4)%12+1];
}
/**
* 获取中文的年
*
* @return 中文年,如二零零一
*/
public String getYearInChinese(){
String y = (year+"");
StringBuilder s = new StringBuilder();
for(int i=0,j=y.length();i<j;i++){
s.append(LunarUtil.NUMBER[y.charAt(i)-'0']);
}
return s.toString();
}
/**
* 获取中文的月
*
@@ -310,10 +338,9 @@ public class Lunar{
* @return 阳历日期
*/
private Solar toSolar(){
int diff = LunarUtil.computeAddDays(year,month,day);
Calendar c = Calendar.getInstance();
c.set(SolarUtil.BASE_YEAR,SolarUtil.BASE_MONTH-1,SolarUtil.BASE_DAY);
c.add(Calendar.DATE,diff);
c.add(Calendar.DATE,dayOffset);
return new Solar(c);
}
@@ -339,10 +366,7 @@ public class Lunar{
* @return 干支纪日,如己卯
*/
public String getDayInGanZhi(){
int diff = LunarUtil.computeAddDays(year,month,day);
diff += LunarUtil.BASE_DAY_GANZHI_INDEX;
diff = diff%60;
return LunarUtil.GAN[diff%10+1]+LunarUtil.ZHI[diff%12+1];
return LunarUtil.GAN[dayGanIndex+1]+LunarUtil.ZHI[dayZhiIndex+1];
}
/**
@@ -350,10 +374,7 @@ public class Lunar{
* @return 彭祖百忌天干
*/
public String getPengZuGan(){
int diff = LunarUtil.computeAddDays(year,month,day);
diff += LunarUtil.BASE_DAY_GANZHI_INDEX;
diff = diff%60;
return LunarUtil.PENGZU_GAN[diff%10+1];
return LunarUtil.PENGZU_GAN[dayGanIndex+1];
}
/**
@@ -361,17 +382,154 @@ public class Lunar{
* @return 彭祖百忌地支
*/
public String getPengZuZhi(){
int diff = LunarUtil.computeAddDays(year,month,day);
diff += LunarUtil.BASE_DAY_GANZHI_INDEX;
diff = diff%60;
return LunarUtil.PENGZU_ZHI[diff%12+1];
return LunarUtil.PENGZU_ZHI[dayZhiIndex+1];
}
/**
* 获取喜神方位
* @return 喜神方位,如艮
*/
public String getPositionXi(){
return LunarUtil.POSITION_XI[dayGanIndex+1];
}
/**
* 获取喜神方位描述
* @return 喜神方位描述,如东北
*/
public String getPositionXiDesc(){
return LunarUtil.POSITION_DESC.get(getPositionXi());
}
/**
* 获取阳贵神方位
* @return 阳贵神方位,如艮
*/
public String getPositionYangGui(){
return LunarUtil.POSITION_YANG_GUI[dayGanIndex+1];
}
/**
* 获取阳贵神方位描述
* @return 阳贵神方位描述,如东北
*/
public String getPositionYangGuiDesc(){
return LunarUtil.POSITION_DESC.get(getPositionYangGui());
}
/**
* 获取阴贵神方位
* @return 阴贵神方位,如艮
*/
public String getPositionYinGui(){
return LunarUtil.POSITION_YIN_GUI[dayGanIndex+1];
}
/**
* 获取阴贵神方位描述
* @return 阴贵神方位描述,如东北
*/
public String getPositionYinGuiDesc(){
return LunarUtil.POSITION_DESC.get(getPositionYinGui());
}
/**
* 获取福神方位
* @return 福神方位,如艮
*/
public String getPositionFu(){
return LunarUtil.POSITION_FU[dayGanIndex+1];
}
/**
* 获取福神方位描述
* @return 福神方位描述,如东北
*/
public String getPositionFuDesc(){
return LunarUtil.POSITION_DESC.get(getPositionFu());
}
/**
* 获取财神方位
* @return 财神方位,如艮
*/
public String getPositionCai(){
return LunarUtil.POSITION_CAI[dayGanIndex+1];
}
/**
* 获取财神方位描述
* @return 财神方位描述,如东北
*/
public String getPositionCaiDesc(){
return LunarUtil.POSITION_DESC.get(getPositionCai());
}
/**
* 获取冲
* @return 冲,如申
*/
public String getChong(){
return LunarUtil.CHONG.get(LunarUtil.ZHI[dayZhiIndex+1]);
}
/**
* 获取无情之克的冲天干
* @return 无情之克的冲天干,如甲
*/
public String getChongGan(){
String chong = LunarUtil.GAN[dayGanIndex+1];
return LunarUtil.CHONG_GAN.get(chong);
}
/**
* 获取有情之克的冲天干
* @return 有情之克的冲天干,如甲
*/
public String getChongGanTie(){
String chong = LunarUtil.GAN[dayGanIndex+1];
return LunarUtil.CHONG_GAN_TIE.get(chong);
}
/**
* 获取冲生肖
* @return 冲生肖,如猴
*/
public String getChongShengXiao(){
String chong = getChong();
for(int i=0,j=LunarUtil.ZHI.length;i<j;i++){
if(LunarUtil.ZHI[i].equals(chong)){
return LunarUtil.SHENGXIAO[i];
}
}
return "";
}
/**
* 获取冲描述
* @return 冲描述,如(壬申)猴
*/
public String getChongDesc(){
return "("+getChongGan()+getChong()+")"+getChongShengXiao();
}
/**
* 获取刹
* @return 刹,如北
*/
public String getSha(){
return LunarUtil.SHA.get(LunarUtil.ZHI[dayZhiIndex+1]);
}
public String toFullString(){
StringBuilder s = new StringBuilder();
s.append(toString());
s.append(" ");
s.append(getGan());
s.append(getZhi());
s.append("(");
s.append(getShengxiao());
s.append(")");
s.append("");
s.append(getMonthInGanZhi());
s.append("");
@@ -401,17 +559,47 @@ public class Lunar{
s.append(getXiu());
s.append(getZheng());
s.append(getAnimal());
s.append(" 彭祖[");
s.append(" 彭祖百忌[");
s.append(getPengZuGan());
s.append(" ");
s.append(getPengZuZhi());
s.append("]");
s.append(" 喜神方位[");
s.append(getPositionXi());
s.append("](");
s.append(getPositionXiDesc());
s.append(")");
s.append(" 阳贵神方位[");
s.append(getPositionYangGui());
s.append("](");
s.append(getPositionYangGuiDesc());
s.append(")");
s.append(" 阴贵神方位[");
s.append(getPositionYinGui());
s.append("](");
s.append(getPositionYinGuiDesc());
s.append(")");
s.append(" 福神方位[");
s.append(getPositionFu());
s.append("](");
s.append(getPositionFuDesc());
s.append(")");
s.append(" 财神方位[");
s.append(getPositionCai());
s.append("](");
s.append(getPositionCaiDesc());
s.append(")");
s.append(" 冲[");
s.append(getChongDesc());
s.append("] 刹[");
s.append(getSha());
s.append("]");
return s.toString();
}
@Override
public String toString(){
return getGan()+getZhi()+""+getMonthInChinese()+""+getDayInChinese();
return getYearInChinese()+""+getMonthInChinese()+""+getDayInChinese();
}
/**

View File

@@ -31,12 +31,26 @@ public class LunarUtil{
public static final int[][] QI_MAP = {{21,21,21,21,21,20,21,21,21,20,20,21,21,20,20,20,20,20,20,20,20,19,20,20,20,19,19,20},{20,19,19,20,20,19,19,19,19,19,19,19,19,18,19,19,19,18,18,19,19,18,18,18,18,18,18,18},{21,21,21,22,21,21,21,21,20,21,21,21,20,20,21,21,20,20,20,21,20,20,20,20,19,20,20,20,20},{20,21,21,21,20,20,21,21,20,20,20,21,20,20,20,20,19,20,20,20,19,19,20,20,19,19,19,20,20},{21,22,22,22,21,21,22,22,21,21,21,22,21,21,21,21,20,21,21,21,20,20,21,21,20,20,20,21,21},{22,22,22,22,21,22,22,22,21,21,22,22,21,21,21,22,21,21,21,21,20,21,21,21,20,20,21,21,21},{23,23,24,24,23,23,23,24,23,23,23,23,22,23,23,23,22,22,23,23,22,22,22,23,22,22,22,22,23},{23,24,24,24,23,23,24,24,23,23,23,24,23,23,23,23,22,23,23,23,22,22,23,23,22,22,22,23,23},{23,24,24,24,23,23,24,24,23,23,23,24,23,23,23,23,22,23,23,23,22,22,23,23,22,22,22,23,23},{24,24,24,24,23,24,24,24,23,23,24,24,23,23,23,24,23,23,23,23,22,23,23,23,22,22,23,23,23},{23,23,23,23,22,23,23,23,22,22,23,23,22,22,22,23,22,22,22,22,21,22,22,22,21,21,22,22,22},{22,22,23,23,22,22,22,23,22,22,22,22,21,22,22,22,21,21,22,22,21,21,21,22,21,21,21,21,22}};
/** 天干 */
public static final String[] GAN = {"","","","","","","","","","",""};
/** 喜神方位,《喜神方位歌》:甲己在艮乙庚乾,丙辛坤位喜神安.  丁壬只在离宫坐,戊癸原在在巽间。 */
public static final String[] POSITION_XI = {"","","","","","","","","","",""};
/** 阳贵方位,《阳贵神歌》:甲戊坤艮位,乙己是坤坎,庚辛居离艮,丙丁兑与乾,震巽属何日,壬癸贵神安。 */
public static final String[] POSITION_YANG_GUI = {"","","","","","","","","","",""};
/** 阴贵方位,《阴贵神歌》:甲戊见牛羊,乙己鼠猴乡,丙丁猪鸡位,壬癸蛇兔藏,庚辛逢虎马,此是贵神方。 */
public static final String[] POSITION_YIN_GUI = {"","","","","","","","","","",""};
/** 福神方位,参考多个黄历而决定采用的《福神方位歌》:甲乙东南是福神,丙丁正东是堪宜,戊北己南庚辛坤,壬在乾方癸在西。 */
public static final String[] POSITION_FU = {"","","","","","","","","","",""};
//未采用的《福神方位歌》:甲己正北是福神,丙辛西北乾宫存,乙庚坤位戊癸艮,丁壬巽上好追寻。
//public static final String[] POSITION_FU = {"","坎","坤","乾","巽","艮","坎","坤","乾","巽","艮"};
/** 财神方位,《财神方位歌》:甲乙东北是财神,丙丁向在西南寻,戊己正北坐方位, 庚辛正东去安身,壬癸原来正南坐,便是财神方位真。 */
public static final String[] POSITION_CAI = {"","","","","","","","","","",""};
/** 地支 */
public static final String[] ZHI = {"","","","","","","","","","","","",""};
/** 彭祖百忌.天干 */
public static final String[] PENGZU_GAN = {"","甲不开仓财物耗散","乙不栽植千株不长","丙不修灶必见灾殃","丁不剃头头必生疮","戊不受田田主不祥","己不破券二比并亡","庚不经络织机虚张","辛不合酱主人不尝","壬不泱水更难提防","癸不词讼理弱敌强"};
/** 彭祖百忌.地支 */
public static final String[] PENGZU_ZHI = {"","子不问卜自惹祸殃","丑不冠带主不还乡","寅不祭祀神鬼不尝","卯不穿井水泉不香","辰不哭泣必主重丧","巳不远行财物伏藏","午不苫盖屋主更张","未不服药毒气入肠","申不安床鬼祟入房","酉不会客醉坐颠狂","戌不吃犬作怪上床","亥不嫁娶不利新郎"};
/** 数字 */
public static final String[] NUMBER = {"","","","","","","","","",""};
/** 月 */
public static final String[] MONTH = {"","","","","","","","","","","","",""};
/** 季节 */
@@ -196,6 +210,109 @@ public class LunarUtil{
put("","玄武");
}
};
/** 冲,即地支冲(子午相冲,丑未相冲,寅申相冲,辰戌相冲,卯酉相冲,巳亥相冲),由于地支对应十二生肖,也就对应了生肖相冲 */
public static final Map<String,String> CHONG = new HashMap<String,String>(){
private static final long serialVersionUID = -1;
{
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
}
};
/** 天干相冲之无情之克(阳克阳,阴克阴) */
public static final Map<String,String> CHONG_GAN = new HashMap<String,String>(){
private static final long serialVersionUID = -1;
{
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
}
};
/** 天干四冲无情之克中克得最严重的4个 */
public static final Map<String,String> CHONG_GAN_BAD = new HashMap<String,String>(){
private static final long serialVersionUID = -1;
{
put("","");
put("","");
put("","");
put("","");
}
};
/** 天干相冲之有情之克(阳克阴,阴克阳) */
public static final Map<String,String> CHONG_GAN_TIE = new HashMap<String,String>(){
private static final long serialVersionUID = -1;
{
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
put("","");
}
};
/** 天干五合有情之克中最有情的5个 */
public static final Map<String,String> CHONG_GAN_TIE_GOOD = new HashMap<String,String>(){
private static final long serialVersionUID = -1;
{
put("","");
put("","");
put("","");
put("","");
put("","");
}
};
/** 刹(逢巳日、酉日、丑日必煞东;亥日、卯日、未日必煞西;申日、子日、辰日必煞南;寅日、午日、戌日必煞北) */
public static final Map<String,String> SHA = new HashMap<String,String>(){
private static final long serialVersionUID = -1;
{
put("","");
put("","");
put("","");
put("","西");
put("","");
put("","");
put("","");
put("","西");
put("","");
put("","");
put("","");
put("","西");
}
};
/** 方位 */
public static final Map<String,String> POSITION_DESC = new HashMap<String,String>(){
private static final long serialVersionUID = -1;
{
put("","正北");
put("","东北");
put("","正东");
put("","东南");
put("","正南");
put("","西南");
put("","正西");
put("","西北");
}
};
/** 宫 */
public static final Map<String,String> GONG = new HashMap<String,String>(){
private static final long serialVersionUID = -1;

View File

@@ -14,8 +14,8 @@ public class LunarTest {
@Test
public void test(){
Lunar date = new Lunar(2019,3,27);
Assert.assertEquals("己亥年叁月廿七",date.toString());
Assert.assertEquals("己亥年叁月廿七 年戊辰月戊戌日 (七殿泰山王诞) 西方白虎 娄金狗 彭祖[戊不受田田主不祥 戌不吃犬作怪上床]",date.toFullString());
Assert.assertEquals("贰零壹玖年叁月廿七",date.toString());
Assert.assertEquals("贰零壹玖年叁月廿七 己亥(猪)年戊辰月戊戌日 (七殿泰山王诞) 西方白虎 娄金狗 彭祖百忌[戊不受田田主不祥 戌不吃犬作怪上床] 喜神方位[巽](东南) 阳贵神方位[艮](东北) 阴贵神方位[坤](西南) 福神方位[坎](正北) 财神方位[坎](正北) 冲[(壬辰)龙] 刹[北]",date.toFullString());
Assert.assertEquals("2019-05-01",date.getSolar().toString());
Assert.assertEquals("2019-05-01 星期三 (劳动节) 金牛座",date.getSolar().toFullString());
}

View File

@@ -16,8 +16,8 @@ public class SolarTest {
Solar date = new Solar(2019,5,1);
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().toString());
Assert.assertEquals("贰零壹玖年叁月廿七 己亥(猪)年戊辰月戊戌日 (七殿泰山王诞) 西方白虎 娄金狗 彭祖百忌[戊不受田田主不祥 戌不吃犬作怪上床] 喜神方位[巽](东南) 阳贵神方位[艮](东北) 阴贵神方位[坤](西南) 福神方位[坎](正北) 财神方位[坎](正北) 冲[(壬辰)龙] 刹[北]",date.getLunar().toFullString());
}
}