修复干支纪年和纪月的严重错误;节气支持到秒。
This commit is contained in:
61
src/test/java/sample/BaZiTest.java
Normal file
61
src/test/java/sample/BaZiTest.java
Normal file
@@ -0,0 +1,61 @@
|
||||
package sample;
|
||||
|
||||
import com.nlf.calendar.Lunar;
|
||||
import com.nlf.calendar.Solar;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
* 八字测试
|
||||
*/
|
||||
public class BaZiTest {
|
||||
|
||||
@Test
|
||||
public void test1(){
|
||||
Solar solar = new Solar(2020,1,1,22,35,0);
|
||||
Lunar lunar = solar.getLunar();
|
||||
//[己亥, 丙子, 癸卯, 癸亥]
|
||||
System.out.println(lunar.getBaZi());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test2(){
|
||||
Solar solar = new Solar(2020,1,6,14,35,0);
|
||||
Lunar lunar = solar.getLunar();
|
||||
//[己亥, 丁丑, 戊申, 己未]
|
||||
System.out.println(lunar.getBaZi());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test3(){
|
||||
Solar solar = new Solar(2020,1,6,3,35,0);
|
||||
Lunar lunar = solar.getLunar();
|
||||
//[己亥, 丁丑, 戊辰, 癸亥]
|
||||
System.out.println(lunar.getBaZi());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test4(){
|
||||
Solar solar = new Solar(2020,1,26,21,41,0);
|
||||
Lunar lunar = solar.getLunar();
|
||||
//[己亥, 丙子, 戊申, 甲寅]
|
||||
System.out.println(lunar.getBaZi());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test5(){
|
||||
Solar solar = new Solar(2020,2,4,1,42,0);
|
||||
Lunar lunar = solar.getLunar();
|
||||
//[己亥, 丁丑, 丁丑, 辛丑]
|
||||
System.out.println(lunar.getBaZi());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test6(){
|
||||
Solar solar = new Solar(2020,2,5,21,43,0);
|
||||
Lunar lunar = solar.getLunar();
|
||||
//[庚子, 戊寅, 戊寅, 癸亥]
|
||||
System.out.println(lunar.getBaZi());
|
||||
}
|
||||
|
||||
}
|
||||
199
src/test/java/test/GanZhiTest.java
Normal file
199
src/test/java/test/GanZhiTest.java
Normal file
@@ -0,0 +1,199 @@
|
||||
package test;
|
||||
|
||||
import com.nlf.calendar.Lunar;
|
||||
import com.nlf.calendar.Solar;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
* 干支测试
|
||||
*/
|
||||
public class GanZhiTest {
|
||||
|
||||
@Test
|
||||
public void test(){
|
||||
Solar solar = new Solar(2020,1,1,13,22,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());
|
||||
|
||||
|
||||
//小寒
|
||||
solar = new Solar(2020,1,6,13,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("丁丑",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("丁丑",lunar.getMonthInGanZhiExact());
|
||||
|
||||
|
||||
solar = new Solar(2020,1,20,13,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("丁丑",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("丁丑",lunar.getMonthInGanZhiExact());
|
||||
|
||||
|
||||
//春节
|
||||
solar = new Solar(2020,1,25,13,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("丁丑",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("丁丑",lunar.getMonthInGanZhiExact());
|
||||
|
||||
|
||||
solar = new Solar(2020,1,30,13,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("丁丑",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("丁丑",lunar.getMonthInGanZhiExact());
|
||||
|
||||
|
||||
solar = new Solar(2020,2,1,13,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("丁丑",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("丁丑",lunar.getMonthInGanZhiExact());
|
||||
|
||||
|
||||
solar = new Solar(2020,2,4,13,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("戊寅",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("丁丑",lunar.getMonthInGanZhiExact());
|
||||
|
||||
|
||||
solar = new Solar(2020,2,4,18,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("戊寅",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("戊寅",lunar.getMonthInGanZhiExact());
|
||||
|
||||
|
||||
solar = new Solar(2020,2,5,13,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("戊寅",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("戊寅",lunar.getMonthInGanZhiExact());
|
||||
|
||||
|
||||
solar = new Solar(2020,5,22,13,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("辛巳",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("辛巳",lunar.getMonthInGanZhiExact());
|
||||
|
||||
|
||||
solar = new Solar(2020,5,23,13,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("辛巳",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("辛巳",lunar.getMonthInGanZhiExact());
|
||||
|
||||
solar = new Solar(2020,5,29,13,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("辛巳",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("辛巳",lunar.getMonthInGanZhiExact());
|
||||
|
||||
solar = new Solar(2020,6,1,13,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("辛巳",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("辛巳",lunar.getMonthInGanZhiExact());
|
||||
|
||||
solar = new Solar(2020,6,29,13,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("庚子",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("壬午",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("壬午",lunar.getMonthInGanZhiExact());
|
||||
|
||||
solar = new Solar(2019,5,1,13,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("己亥",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("戊辰",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("戊辰",lunar.getMonthInGanZhiExact());
|
||||
|
||||
solar = new Solar(1986,5,29,13,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("丙寅",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("丙寅",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("丙寅",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("癸巳",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("癸巳",lunar.getMonthInGanZhiExact());
|
||||
|
||||
solar = new Solar(1986,5,1,1,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("丙寅",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("丙寅",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("丙寅",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("壬辰",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("壬辰",lunar.getMonthInGanZhiExact());
|
||||
|
||||
solar = new Solar(1986,5,6,1,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("丙寅",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("丙寅",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("丙寅",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("癸巳",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("壬辰",lunar.getMonthInGanZhiExact());
|
||||
|
||||
solar = new Solar(1986,5,6,23,22,0);
|
||||
lunar = solar.getLunar();
|
||||
Assert.assertEquals("丙寅",lunar.getYearInGanZhi());
|
||||
Assert.assertEquals("丙寅",lunar.getYearInGanZhiByLiChun());
|
||||
Assert.assertEquals("丙寅",lunar.getYearInGanZhiExact());
|
||||
|
||||
Assert.assertEquals("癸巳",lunar.getMonthInGanZhi());
|
||||
Assert.assertEquals("癸巳",lunar.getMonthInGanZhiExact());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,11 +13,11 @@ public class LunarTest {
|
||||
|
||||
@Test
|
||||
public void test(){
|
||||
Lunar date = new Lunar(2019,3,27);
|
||||
Lunar date = new Lunar(2019,3,27,0,0,0);
|
||||
Assert.assertEquals("贰零壹玖年叁月廿七",date.toString());
|
||||
Assert.assertEquals("贰零壹玖年叁月廿七 己亥(猪)年 戊辰(龙)月 戊戌(狗)日 子(鼠)时 纳音[平地木 大林木 平地木 海中金] 星期三 (七殿泰山王诞) 西方白虎 星宿[参水猿](吉) 彭祖百忌[戊不受田田主不祥 戌不吃犬作怪上床] 喜神方位[巽](东南) 阳贵神方位[艮](东北) 阴贵神方位[坤](西南) 福神方位[坎](正北) 财神方位[坎](正北) 冲[(壬辰)龙] 煞[北]",date.toFullString());
|
||||
Assert.assertEquals("2019-05-01",date.getSolar().toString());
|
||||
Assert.assertEquals("2019-05-01 00:00 星期三 (劳动节) 金牛座",date.getSolar().toFullString());
|
||||
Assert.assertEquals("2019-05-01 00:00:00 星期三 (劳动节) 金牛座",date.getSolar().toFullString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ public class SolarTest {
|
||||
public void test(){
|
||||
Solar date = new Solar(2019,5,1);
|
||||
Assert.assertEquals("2019-05-01",date.toString());
|
||||
Assert.assertEquals("2019-05-01 00:00 星期三 (劳动节) 金牛座",date.toFullString());
|
||||
Assert.assertEquals("2019-05-01 00:00:00 星期三 (劳动节) 金牛座",date.toFullString());
|
||||
Assert.assertEquals("贰零壹玖年叁月廿七",date.getLunar().toString());
|
||||
Assert.assertEquals("贰零壹玖年叁月廿七 己亥(猪)年 戊辰(龙)月 戊戌(狗)日 子(鼠)时 纳音[平地木 大林木 平地木 海中金] 星期三 (七殿泰山王诞) 西方白虎 星宿[参水猿](吉) 彭祖百忌[戊不受田田主不祥 戌不吃犬作怪上床] 喜神方位[巽](东南) 阳贵神方位[艮](东北) 阴贵神方位[坤](西南) 福神方位[坎](正北) 财神方位[坎](正北) 冲[(壬辰)龙] 煞[北]",date.getLunar().toFullString());
|
||||
}
|
||||
|
||||
@@ -211,7 +211,7 @@ public class TimeTest {
|
||||
hour = Integer.parseInt(hm.substring(0,2),10);
|
||||
minute = Integer.parseInt(hm.substring(3,5),10);
|
||||
}
|
||||
Lunar lunar = Lunar.fromYmdHm(2020,1,1,hour,minute);
|
||||
Lunar lunar = Lunar.fromYmdHms(2020,1,1,hour,minute,0);
|
||||
String ganZhi = entry.getValue();
|
||||
Assert.assertEquals(hm, ganZhi, lunar.getTimeInGanZhi());
|
||||
}
|
||||
@@ -225,7 +225,7 @@ public class TimeTest {
|
||||
hour = Integer.parseInt(hm.substring(0,2),10);
|
||||
minute = Integer.parseInt(hm.substring(3,5),10);
|
||||
}
|
||||
Lunar lunar = Lunar.fromYmdHm(2020,1,1,hour,minute);
|
||||
Lunar lunar = Lunar.fromYmdHms(2020,1,1,hour,minute,0);
|
||||
String gan = entry.getValue();
|
||||
Assert.assertEquals(hm, gan, lunar.getTimeGan());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user