diff --git a/README.md b/README.md
index e2e7915..796162c 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ lunar是一款无第三方依赖的公历(阳历)、农历(阴历、老黄历)
cn.6tail
lunar
- 1.2.21
+ 1.2.22
```
diff --git a/README_EN.md b/README_EN.md
index f665f89..b8e72b8 100644
--- a/README_EN.md
+++ b/README_EN.md
@@ -12,7 +12,7 @@ lunar is a calendar library for Solar and Chinese Lunar.
cn.6tail
lunar
- 1.2.21
+ 1.2.22
```
diff --git a/pom.xml b/pom.xml
index 1e45239..55bd715 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
cn.6tail
lunar
jar
- 1.2.21
+ 1.2.22
${project.groupId}:${project.artifactId}
https://github.com/6tail/lunar-java
a calendar library for Solar and Chinese Lunar
diff --git a/src/main/java/com/nlf/calendar/ExactDate.java b/src/main/java/com/nlf/calendar/ExactDate.java
index 1770488..a625132 100644
--- a/src/main/java/com/nlf/calendar/ExactDate.java
+++ b/src/main/java/com/nlf/calendar/ExactDate.java
@@ -18,6 +18,7 @@ public class ExactDate {
*/
private static final TimeZone TIME_ZONE = TimeZone.getTimeZone("GMT+8");
+ @SuppressWarnings("MagicConstant")
public static Calendar fromYmdHms(int year, int month, int day, int hour, int minute, int second) {
Calendar c = Calendar.getInstance(TIME_ZONE);
c.set(year, month - 1, day, hour, minute, second);
diff --git a/src/main/java/com/nlf/calendar/Foto.java b/src/main/java/com/nlf/calendar/Foto.java
index 6fe9997..c41868a 100644
--- a/src/main/java/com/nlf/calendar/Foto.java
+++ b/src/main/java/com/nlf/calendar/Foto.java
@@ -18,7 +18,7 @@ public class Foto {
/**
* 阴历
*/
- private Lunar lunar;
+ private final Lunar lunar;
public Foto(Lunar lunar) {
this.lunar = lunar;
@@ -228,7 +228,7 @@ public class Foto {
public String toFullString() {
StringBuilder s = new StringBuilder();
- s.append(toString());
+ s.append(this);
for (FotoFestival f : getFestivals()) {
s.append(" (");
s.append(f);
diff --git a/src/main/java/com/nlf/calendar/FotoFestival.java b/src/main/java/com/nlf/calendar/FotoFestival.java
index 4a6fb17..6a4dd94 100644
--- a/src/main/java/com/nlf/calendar/FotoFestival.java
+++ b/src/main/java/com/nlf/calendar/FotoFestival.java
@@ -10,22 +10,22 @@ public class FotoFestival {
/**
* 是日何日,如:雷斋日
*/
- private String name;
+ private final String name;
/**
* 犯之因果,如:犯者夺纪
*/
- private String result;
+ private final String result;
/**
* 是否每月同
*/
- private boolean everyMonth;
+ private final boolean everyMonth;
/**
* 备注,如:宜先一日即戒
*/
- private String remark;
+ private final String remark;
public FotoFestival(String name, String result, boolean everyMonth, String remark) {
this.name = name;
diff --git a/src/main/java/com/nlf/calendar/Lunar.java b/src/main/java/com/nlf/calendar/Lunar.java
index c3014dd..5c64c0a 100644
--- a/src/main/java/com/nlf/calendar/Lunar.java
+++ b/src/main/java/com/nlf/calendar/Lunar.java
@@ -35,7 +35,7 @@ public class Lunar {
/**
* 对应阳历
*/
- private Solar solar;
+ private final Solar solar;
/**
* 时对应的天干下标,0-9
*/
@@ -116,15 +116,15 @@ public class Lunar {
/**
* 阳历小时
*/
- private int hour;
+ private final int hour;
/**
* 阳历分钟
*/
- private int minute;
+ private final int minute;
/**
* 阳历秒钟
*/
- private int second;
+ private final int second;
/**
* 八字
*/
@@ -132,7 +132,7 @@ public class Lunar {
/**
* 24节气表(对应阳历的准确时刻)
*/
- private Map jieQi = new LinkedHashMap();
+ private final Map jieQi = new LinkedHashMap();
/**
* 默认使用当前日期初始化
@@ -191,7 +191,6 @@ public class Lunar {
*
* @param date 阳历日期
*/
- @SuppressWarnings("MagicConstant")
public Lunar(Date date) {
solar = new Solar(date);
int currentYear = solar.getYear();
@@ -968,9 +967,27 @@ public class Lunar {
if (null != fs) {
l.addAll(fs);
}
- if (solar.toYmd().equals(jieQi.get("清明").next(-1).toYmd())) {
+ String solarYmd = solar.toYmd();
+ if (solarYmd.equals(jieQi.get("清明").next(-1).toYmd())) {
l.add("寒食节");
}
+ Solar jq = jieQi.get("立春");
+ int offset = 4 - jq.getLunar().getDayGanIndex();
+ if (offset < 0) {
+ offset += 10;
+ }
+ if (solarYmd.equals(jq.next(offset + 40).toYmd())) {
+ l.add("春社");
+ }
+
+ jq = jieQi.get("立秋");
+ offset = 4 - jq.getLunar().getDayGanIndex();
+ if (offset < 0) {
+ offset += 10;
+ }
+ if (solarYmd.equals(jq.next(offset + 40).toYmd())) {
+ l.add("秋社");
+ }
return l;
}
@@ -1292,14 +1309,12 @@ public class Lunar {
public String getMonthPositionTaiSui(int sect) {
int monthZhiIndex;
int monthGanIndex;
- switch (sect) {
- case 3:
- monthZhiIndex = this.monthZhiIndexExact;
- monthGanIndex = this.monthGanIndexExact;
- break;
- default:
- monthZhiIndex = this.monthZhiIndex;
- monthGanIndex = this.monthGanIndex;
+ if (sect == 3) {
+ monthZhiIndex = this.monthZhiIndexExact;
+ monthGanIndex = this.monthGanIndexExact;
+ } else {
+ monthZhiIndex = this.monthZhiIndex;
+ monthGanIndex = this.monthGanIndex;
}
return getMonthPositionTaiSui(monthZhiIndex, monthGanIndex);
}
@@ -2458,7 +2473,7 @@ public class Lunar {
public String toFullString() {
StringBuilder s = new StringBuilder();
- s.append(toString());
+ s.append(this);
s.append(" ");
s.append(getYearInGanZhi());
s.append("(");
@@ -2862,7 +2877,6 @@ public class Lunar {
*
* @return 数九,如果不是数九天,返回null
*/
- @SuppressWarnings("MagicConstant")
public ShuJiu getShuJiu() {
Calendar currentCalendar = ExactDate.fromYmd(solar.getYear(), solar.getMonth(), solar.getDay());
Solar start = jieQi.get("DONG_ZHI");
@@ -2889,7 +2903,6 @@ public class Lunar {
*
* @return 三伏,如果不是伏天,返回null
*/
- @SuppressWarnings("MagicConstant")
public Fu getFu() {
Calendar currentCalendar = ExactDate.fromYmd(solar.getYear(), solar.getMonth(), solar.getDay());
Solar xiaZhi = jieQi.get("夏至");
@@ -2962,7 +2975,6 @@ public class Lunar {
*
* @return 物候
*/
- @SuppressWarnings("MagicConstant")
public String getWuHou() {
JieQi jieQi = getPrevJieQi(true);
String name = jieQi.getName();
diff --git a/src/main/java/com/nlf/calendar/LunarMonth.java b/src/main/java/com/nlf/calendar/LunarMonth.java
index 94eaf50..2374716 100644
--- a/src/main/java/com/nlf/calendar/LunarMonth.java
+++ b/src/main/java/com/nlf/calendar/LunarMonth.java
@@ -14,22 +14,22 @@ public class LunarMonth {
/**
* 农历年
*/
- private int year;
+ private final int year;
/**
* 农历月:1-12,闰月为负数,如闰2月为-2
*/
- private int month;
+ private final int month;
/**
* 天数,大月30天,小月29天
*/
- private int dayCount;
+ private final int dayCount;
/**
* 初一的儒略日
*/
- private double firstJulianDay;
+ private final double firstJulianDay;
/**
* 初始化
diff --git a/src/main/java/com/nlf/calendar/LunarTime.java b/src/main/java/com/nlf/calendar/LunarTime.java
index a262117..e6234ec 100644
--- a/src/main/java/com/nlf/calendar/LunarTime.java
+++ b/src/main/java/com/nlf/calendar/LunarTime.java
@@ -15,17 +15,17 @@ public class LunarTime {
/**
* 天干下标,0-9
*/
- private int ganIndex;
+ private final int ganIndex;
/**
* 地支下标,0-11
*/
- private int zhiIndex;
+ private final int zhiIndex;
/**
* 阴历
*/
- private Lunar lunar;
+ private final Lunar lunar;
public LunarTime(int lunarYear, int lunarMonth, int lunarDay, int hour, int minute, int second) {
this.lunar = Lunar.fromYmdHms(lunarYear, lunarMonth, lunarDay, hour, minute, second);
@@ -316,10 +316,7 @@ public class LunarTime {
//顺逆
String solarYmd = lunar.getSolar().toYmd();
Map jieQi = lunar.getJieQiTable();
- boolean asc = false;
- if (solarYmd.compareTo(jieQi.get("冬至").toYmd()) >= 0 && solarYmd.compareTo(jieQi.get("夏至").toYmd()) < 0) {
- asc = true;
- }
+ boolean asc = solarYmd.compareTo(jieQi.get("冬至").toYmd()) >= 0 && solarYmd.compareTo(jieQi.get("夏至").toYmd()) < 0;
int start = asc ? 7 : 3;
String dayZhi = lunar.getDayZhi();
if ("子午卯酉".contains(dayZhi)) {
diff --git a/src/main/java/com/nlf/calendar/LunarYear.java b/src/main/java/com/nlf/calendar/LunarYear.java
index 4c430b9..81b7c50 100644
--- a/src/main/java/com/nlf/calendar/LunarYear.java
+++ b/src/main/java/com/nlf/calendar/LunarYear.java
@@ -50,27 +50,27 @@ public class LunarYear {
/**
* 农历年
*/
- private int year;
+ private final int year;
/**
* 天干下标
*/
- private int ganIndex;
+ private final int ganIndex;
/**
* 地支下标
*/
- private int zhiIndex;
+ private final int zhiIndex;
/**
* 农历月们
*/
- private List months = new ArrayList();
+ private final List months = new ArrayList();
/**
* 节气儒略日们
*/
- private List jieQiJulianDays = new ArrayList();
+ private final List jieQiJulianDays = new ArrayList();
/**
* 初始化
diff --git a/src/main/java/com/nlf/calendar/Solar.java b/src/main/java/com/nlf/calendar/Solar.java
index 0f9061c..b2238ce 100644
--- a/src/main/java/com/nlf/calendar/Solar.java
+++ b/src/main/java/com/nlf/calendar/Solar.java
@@ -19,34 +19,41 @@ public class Solar {
* 2000年儒略日数(2000-1-1 12:00:00 UTC)
*/
public static final double J2000 = 2451545;
+
/**
* 年
*/
- private int year;
+ private final int year;
+
/**
* 月
*/
- private int month;
+ private final int month;
+
/**
* 日
*/
- private int day;
+ private final int day;
+
/**
* 时
*/
- private int hour;
+ private final int hour;
+
/**
* 分
*/
- private int minute;
+ private final int minute;
+
/**
* 秒
*/
- private int second;
+ private final int second;
+
/**
* 日历
*/
- private Calendar calendar;
+ private final Calendar calendar;
/**
* 默认使用当前日期初始化
@@ -76,7 +83,6 @@ public class Solar {
* @param minute 分钟,0到59
* @param second 秒钟,0到59
*/
- @SuppressWarnings("MagicConstant")
public Solar(int year, int month, int day, int hour, int minute, int second) {
calendar = ExactDate.fromYmdHms(year, month, day, hour, minute, second);
this.year = year;
@@ -123,7 +129,6 @@ public class Solar {
*
* @param julianDay 儒略日
*/
- @SuppressWarnings("MagicConstant")
public Solar(double julianDay) {
int d = (int) (julianDay + 0.5);
double f = julianDay + 0.5 - d;
@@ -381,6 +386,12 @@ public class Solar {
if (null != f) {
l.add(f);
}
+ if (day + 7 >= SolarUtil.getDaysOfMonth(year, month)) {
+ f = SolarUtil.WEEK_FESTIVAL.get(month + "-0-" + week);
+ if (null != f) {
+ l.add(f);
+ }
+ }
return l;
}
@@ -515,10 +526,7 @@ public class Solar {
int m = this.month;
double d = this.day + ((this.second * 1D / 60 + this.minute) / 60 + this.hour) / 24;
int n = 0;
- boolean g = false;
- if (y * 372 + m * 31 + (int) d >= 588829) {
- g = true;
- }
+ boolean g = y * 372 + m * 31 + (int) d >= 588829;
if (m <= 2) {
m += 12;
y--;
@@ -595,7 +603,6 @@ public class Solar {
* @param onlyWorkday 是否仅限工作日
* @return 阳历日期
*/
- @SuppressWarnings("MagicConstant")
public Solar next(int days, boolean onlyWorkday) {
Calendar c = ExactDate.fromYmdHms(year, month, day, hour, minute, second);
if (0 != days) {
diff --git a/src/main/java/com/nlf/calendar/SolarHalfYear.java b/src/main/java/com/nlf/calendar/SolarHalfYear.java
index f2933d4..8153160 100644
--- a/src/main/java/com/nlf/calendar/SolarHalfYear.java
+++ b/src/main/java/com/nlf/calendar/SolarHalfYear.java
@@ -14,11 +14,11 @@ public class SolarHalfYear {
/**
* 年
*/
- private int year;
+ private final int year;
/**
* 月
*/
- private int month;
+ private final int month;
/**
* 半年的月数
@@ -124,7 +124,6 @@ public class SolarHalfYear {
* @param halfYears 推移的半年数,负数为倒推
* @return 推移后的半年
*/
- @SuppressWarnings("MagicConstant")
public SolarHalfYear next(int halfYears) {
if (0 == halfYears) {
return new SolarHalfYear(year, month);
diff --git a/src/main/java/com/nlf/calendar/SolarMonth.java b/src/main/java/com/nlf/calendar/SolarMonth.java
index 93c8323..b95af55 100644
--- a/src/main/java/com/nlf/calendar/SolarMonth.java
+++ b/src/main/java/com/nlf/calendar/SolarMonth.java
@@ -16,11 +16,11 @@ public class SolarMonth {
/**
* 年
*/
- private int year;
+ private final int year;
/**
* 月
*/
- private int month;
+ private final int month;
/**
* 默认当月
@@ -128,7 +128,6 @@ public class SolarMonth {
* @param months 月数
* @return 阳历月
*/
- @SuppressWarnings("MagicConstant")
public SolarMonth next(int months) {
Calendar c = ExactDate.fromYmd(year, month, 1);
c.add(Calendar.MONTH, months);
diff --git a/src/main/java/com/nlf/calendar/SolarSeason.java b/src/main/java/com/nlf/calendar/SolarSeason.java
index 92e68ca..6bc57f0 100644
--- a/src/main/java/com/nlf/calendar/SolarSeason.java
+++ b/src/main/java/com/nlf/calendar/SolarSeason.java
@@ -14,11 +14,13 @@ public class SolarSeason {
/**
* 年
*/
- private int year;
+ private final int year;
+
/**
* 月
*/
- private int month;
+ private final int month;
+
/**
* 一个季度的月数
*/
diff --git a/src/main/java/com/nlf/calendar/SolarWeek.java b/src/main/java/com/nlf/calendar/SolarWeek.java
index 8aacc65..9adecfb 100644
--- a/src/main/java/com/nlf/calendar/SolarWeek.java
+++ b/src/main/java/com/nlf/calendar/SolarWeek.java
@@ -16,19 +16,22 @@ public class SolarWeek {
/**
* 年
*/
- private int year;
+ private final int year;
+
/**
* 月
*/
- private int month;
+ private final int month;
+
/**
* 日
*/
- private int day;
+ private final int day;
+
/**
* 星期几作为一周的开始,1234560分别代表星期一至星期天
*/
- private int start;
+ private final int start;
/**
* 默认当月
@@ -187,7 +190,6 @@ public class SolarWeek {
* @param separateMonth 是否按月单独计算
* @return 推移后的阳历周
*/
- @SuppressWarnings("MagicConstant")
public SolarWeek next(int weeks, boolean separateMonth) {
if (0 == weeks) {
return new SolarWeek(year, month, day, start);
diff --git a/src/main/java/com/nlf/calendar/SolarYear.java b/src/main/java/com/nlf/calendar/SolarYear.java
index 1488f53..f5924b0 100644
--- a/src/main/java/com/nlf/calendar/SolarYear.java
+++ b/src/main/java/com/nlf/calendar/SolarYear.java
@@ -14,7 +14,7 @@ public class SolarYear {
/**
* 年
*/
- private int year;
+ private final int year;
/**
* 一年的月数
diff --git a/src/main/java/com/nlf/calendar/Tao.java b/src/main/java/com/nlf/calendar/Tao.java
index 6b4978f..3b8b1bd 100644
--- a/src/main/java/com/nlf/calendar/Tao.java
+++ b/src/main/java/com/nlf/calendar/Tao.java
@@ -18,7 +18,7 @@ public class Tao {
/**
* 阴历
*/
- private Lunar lunar;
+ private final Lunar lunar;
public Tao(Lunar lunar) {
this.lunar = lunar;
diff --git a/src/main/java/com/nlf/calendar/TaoFestival.java b/src/main/java/com/nlf/calendar/TaoFestival.java
index e09b30b..5b1cf79 100644
--- a/src/main/java/com/nlf/calendar/TaoFestival.java
+++ b/src/main/java/com/nlf/calendar/TaoFestival.java
@@ -10,12 +10,12 @@ public class TaoFestival {
/**
* 名称
*/
- private String name;
+ private final String name;
/**
* 备注
*/
- private String remark;
+ private final String remark;
public TaoFestival(String name, String remark) {
this.name = name;
diff --git a/src/main/java/com/nlf/calendar/eightchar/DaYun.java b/src/main/java/com/nlf/calendar/eightchar/DaYun.java
index 89abb6f..cbdea60 100644
--- a/src/main/java/com/nlf/calendar/eightchar/DaYun.java
+++ b/src/main/java/com/nlf/calendar/eightchar/DaYun.java
@@ -12,28 +12,34 @@ public class DaYun {
/**
* 开始年(含)
*/
- private int startYear;
+ private final int startYear;
+
/**
* 结束年(含)
*/
- private int endYear;
+ private final int endYear;
+
/**
* 开始年龄(含)
*/
- private int startAge;
+ private final int startAge;
+
/**
* 结束年龄(含)
*/
- private int endAge;
+ private final int endAge;
+
/**
* 序数,0-9
*/
- private int index;
+ private final int index;
+
/**
* 运
*/
- private Yun yun;
- private Lunar lunar;
+ private final Yun yun;
+
+ private final Lunar lunar;
public DaYun(Yun yun, int index) {
this.yun = yun;
diff --git a/src/main/java/com/nlf/calendar/eightchar/LiuNian.java b/src/main/java/com/nlf/calendar/eightchar/LiuNian.java
index 9feb022..a0e28e3 100644
--- a/src/main/java/com/nlf/calendar/eightchar/LiuNian.java
+++ b/src/main/java/com/nlf/calendar/eightchar/LiuNian.java
@@ -12,20 +12,24 @@ public class LiuNian {
/**
* 序数,0-9
*/
- private int index;
+ private final int index;
+
/**
* 大运
*/
- private DaYun daYun;
+ private final DaYun daYun;
+
/**
* 年
*/
- private int year;
+ private final int year;
+
/**
* 年龄
*/
- private int age;
- private Lunar lunar;
+ private final int age;
+
+ private final Lunar lunar;
public LiuNian(DaYun daYun, int index) {
this.daYun = daYun;
diff --git a/src/main/java/com/nlf/calendar/eightchar/LiuYue.java b/src/main/java/com/nlf/calendar/eightchar/LiuYue.java
index 9298dd7..1bd15f3 100644
--- a/src/main/java/com/nlf/calendar/eightchar/LiuYue.java
+++ b/src/main/java/com/nlf/calendar/eightchar/LiuYue.java
@@ -11,8 +11,9 @@ public class LiuYue {
/**
* 序数,0-9
*/
- private int index;
- private LiuNian liuNian;
+ private final int index;
+
+ private final LiuNian liuNian;
public LiuYue(LiuNian liuNian, int index) {
this.liuNian = liuNian;
diff --git a/src/main/java/com/nlf/calendar/eightchar/XiaoYun.java b/src/main/java/com/nlf/calendar/eightchar/XiaoYun.java
index 3b784cc..1cf6753 100644
--- a/src/main/java/com/nlf/calendar/eightchar/XiaoYun.java
+++ b/src/main/java/com/nlf/calendar/eightchar/XiaoYun.java
@@ -12,24 +12,29 @@ public class XiaoYun {
/**
* 序数,0-9
*/
- private int index;
+ private final int index;
+
/**
* 大运
*/
- private DaYun daYun;
+ private final DaYun daYun;
+
/**
* 年
*/
- private int year;
+ private final int year;
+
/**
* 年龄
*/
- private int age;
+ private final int age;
+
/**
* 是否顺推
*/
- private boolean forward;
- private Lunar lunar;
+ private final boolean forward;
+
+ private final Lunar lunar;
public XiaoYun(DaYun daYun, int index, boolean forward) {
this.daYun = daYun;
diff --git a/src/main/java/com/nlf/calendar/eightchar/Yun.java b/src/main/java/com/nlf/calendar/eightchar/Yun.java
index 12e4887..a8abbf2 100644
--- a/src/main/java/com/nlf/calendar/eightchar/Yun.java
+++ b/src/main/java/com/nlf/calendar/eightchar/Yun.java
@@ -14,7 +14,7 @@ public class Yun {
/**
* 性别(1男,0女)
*/
- private int gender;
+ private final int gender;
/**
* 起运年数
@@ -39,9 +39,9 @@ public class Yun {
/**
* 是否顺推
*/
- private boolean forward;
+ private final boolean forward;
- private Lunar lunar;
+ private final Lunar lunar;
/**
* 使用默认流派1初始化运
diff --git a/src/main/java/com/nlf/calendar/util/LunarUtil.java b/src/main/java/com/nlf/calendar/util/LunarUtil.java
index af53544..a64e69e 100644
--- a/src/main/java/com/nlf/calendar/util/LunarUtil.java
+++ b/src/main/java/com/nlf/calendar/util/LunarUtil.java
@@ -152,7 +152,7 @@ public class LunarUtil{
put("1-25",Collections.nCopies(1,"填仓节"));
put("1-30",Collections.nCopies(1,"正月晦"));
put("2-1",Collections.nCopies(1,"中和节"));
- put("2-2",Collections.nCopies(1,"春社"));
+ put("2-2",Collections.nCopies(1,"社日节"));
put("3-3",Collections.nCopies(1,"上巳节"));
put("5-20",Collections.nCopies(1,"分龙节"));
put("5-25",Collections.nCopies(1,"会龙节"));
diff --git a/src/main/java/com/nlf/calendar/util/SolarUtil.java b/src/main/java/com/nlf/calendar/util/SolarUtil.java
index 7e95882..cbd52a9 100644
--- a/src/main/java/com/nlf/calendar/util/SolarUtil.java
+++ b/src/main/java/com/nlf/calendar/util/SolarUtil.java
@@ -42,6 +42,8 @@ public class SolarUtil {
put("8-1", "建军节");
put("9-10", "教师节");
put("10-1", "国庆节");
+ put("10-31", "万圣节前夜");
+ put("11-1", "万圣节");
put("12-24", "平安夜");
put("12-25", "圣诞节");
}
@@ -53,6 +55,7 @@ public class SolarUtil {
private static final long serialVersionUID = -1;
{
+ put("3-0-1", "全国中小学生安全教育日");
put("5-2-0", "母亲节");
put("6-3-0", "父亲节");
put("11-4-4", "感恩节");
diff --git a/src/test/java/test/GanZhiTest.java b/src/test/java/test/GanZhiTest.java
index 9de27e5..699c23f 100644
--- a/src/test/java/test/GanZhiTest.java
+++ b/src/test/java/test/GanZhiTest.java
@@ -333,4 +333,22 @@ public class GanZhiTest {
Assert.assertEquals("丁丑",lunar.getMonthInGanZhiExact());
}
+ @Test
+ public void test19() {
+ Solar solar = new Solar(2022,4,6,20,18,0);
+ Lunar lunar = solar.getLunar();
+ Assert.assertEquals("壬寅",lunar.getYearInGanZhi());
+ Assert.assertEquals("壬寅",lunar.getYearInGanZhiByLiChun());
+ Assert.assertEquals("壬寅",lunar.getYearInGanZhiExact());
+
+ Assert.assertEquals("甲辰",lunar.getMonthInGanZhi());
+ Assert.assertEquals("甲辰",lunar.getMonthInGanZhiExact());
+
+ Assert.assertEquals("己丑",lunar.getDayInGanZhi());
+ Assert.assertEquals("己丑",lunar.getDayInGanZhiExact());
+ Assert.assertEquals("己丑",lunar.getDayInGanZhiExact2());
+
+ Assert.assertEquals("甲戌",lunar.getTimeInGanZhi());
+ }
+
}
diff --git a/src/test/java/test/LunarTest.java b/src/test/java/test/LunarTest.java
index abc7e01..f843584 100644
--- a/src/test/java/test/LunarTest.java
+++ b/src/test/java/test/LunarTest.java
@@ -424,4 +424,39 @@ public class LunarTest {
Assert.assertEquals(4, lunar.getDayJi().size());
}
+ @Test
+ public void test57() {
+ Solar solar = new Solar(1991, 2, 5);
+ Lunar lunar = solar.getLunar();
+ Assert.assertEquals("庚寅", lunar.getMonthInGanZhi());
+ }
+
+ @Test
+ public void test58() {
+ Solar solar = new Solar(2021, 3, 21);
+ Lunar lunar = solar.getLunar();
+ Assert.assertEquals("春社", lunar.getOtherFestivals().get(0));
+ }
+
+ @Test
+ public void test59() {
+ Solar solar = new Solar(2022, 3, 16);
+ Lunar lunar = solar.getLunar();
+ Assert.assertEquals("春社", lunar.getOtherFestivals().get(0));
+ }
+
+ @Test
+ public void test60() {
+ Solar solar = new Solar(1722, 9, 25);
+ Lunar lunar = solar.getLunar();
+ Assert.assertEquals("秋社", lunar.getOtherFestivals().get(0));
+ }
+
+ @Test
+ public void test61() {
+ Solar solar = new Solar(840, 9, 14);
+ Lunar lunar = solar.getLunar();
+ Assert.assertEquals("秋社", lunar.getOtherFestivals().get(0));
+ }
+
}
diff --git a/src/test/java/test/SolarTest.java b/src/test/java/test/SolarTest.java
index 71454a8..3a3adc6 100644
--- a/src/test/java/test/SolarTest.java
+++ b/src/test/java/test/SolarTest.java
@@ -47,7 +47,7 @@ public class SolarTest {
@Test
public void test10(){
- Assert.assertEquals(false, SolarUtil.isLeapYear(1500));
+ Assert.assertFalse(SolarUtil.isLeapYear(1500));
}
@Test
@@ -73,4 +73,10 @@ public class SolarTest {
Assert.assertEquals("2020-01-19",date.next(1,true).toString());
}
+ @Test
+ public void test11(){
+ Solar solar = new Solar(2022, 3, 28);
+ Assert.assertEquals("全国中小学生安全教育日",solar.getFestivals().get(0));
+ }
+
}