1
0
mirror of synced 2026-10-15 02:56:11 +08:00

支持0001到9999年。

This commit is contained in:
6tail
2021-04-11 21:09:37 +08:00
parent b0984c52f9
commit ecccdd6380
19 changed files with 1576 additions and 1006 deletions

View File

@@ -23,22 +23,21 @@ public class YearTest {
for(Solar d:m.getDays()){
//获取阴历
Lunar lunar = d.getLunar();
StringBuilder s = new StringBuilder();
s.append(d.getDay()<10?"0":"");
s.append(d.getDay());
s.append(" ");
s.append(lunar.getMonthInChinese());
s.append("月");
s.append(lunar.getDayInChinese());
s.append(" ");
s.append("星期");
s.append(d.getWeekInChinese());
s.append(" ");
s.append(d.getFestivals());
s.append(lunar.getFestivals());
s.append(lunar.getJie());
s.append(lunar.getQi());
System.out.println(s.toString());
String s = (d.getDay() < 10 ? "0" : "") +
d.getDay() +
" " +
lunar.getMonthInChinese() +
"月" +
lunar.getDayInChinese() +
" " +
"星期" +
d.getWeekInChinese() +
" " +
d.getFestivals() +
lunar.getFestivals() +
lunar.getJie() +
lunar.getQi();
System.out.println(s);
}
}
}

View File

@@ -6,6 +6,8 @@ import com.nlf.calendar.Solar;
import org.junit.Assert;
import org.junit.Test;
import java.util.List;
/**
* 八字测试
*/
@@ -218,4 +220,14 @@ public class BaZiTest {
Assert.assertEquals("身宫", "壬午", lunar.getEightChar().getShenGong());
}
@Test
public void testBaZi2Solar() {
Solar solar = Solar.fromYmdHms(2027,1,27,12,0,0);
System.out.println(solar.getLunar().getEightChar().toString());
List<Solar> l = Solar.fromBaZi("丙午","辛丑","丙午","甲午");
for(Solar s:l){
System.out.println(s.toFullString());
}
}
}

View File

@@ -196,4 +196,128 @@ public class GanZhiTest {
Assert.assertEquals("癸巳",lunar.getMonthInGanZhiExact());
}
@Test
public void test1() {
Solar solar = new Solar(1996, 1, 16);
Lunar lunar = solar.getLunar();
Assert.assertEquals("壬子",lunar.getDayInGanZhi());
}
@Test
public void test2() {
Solar solar = new Solar(1997, 2, 16);
Lunar lunar = solar.getLunar();
Assert.assertEquals("己丑",lunar.getDayInGanZhi());
}
@Test
public void test3() {
Solar solar = new Solar(1998, 3, 16);
Lunar lunar = solar.getLunar();
Assert.assertEquals("壬戌",lunar.getDayInGanZhi());
}
@Test
public void test4() {
Solar solar = new Solar(1999, 4, 16);
Lunar lunar = solar.getLunar();
Assert.assertEquals("戊戌",lunar.getDayInGanZhi());
}
@Test
public void test5() {
Solar solar = new Solar(2000, 7, 16);
Lunar lunar = solar.getLunar();
Assert.assertEquals("乙亥",lunar.getDayInGanZhi());
}
@Test
public void test6() {
Solar solar = new Solar(2000, 1, 6);
Lunar lunar = solar.getLunar();
Assert.assertEquals("癸亥",lunar.getDayInGanZhi());
}
@Test
public void test7() {
Solar solar = new Solar(2000, 1, 9);
Lunar lunar = solar.getLunar();
Assert.assertEquals("丙寅",lunar.getDayInGanZhi());
}
@Test
public void test8() {
Solar solar = new Solar(2000, 2, 2);
Lunar lunar = solar.getLunar();
Assert.assertEquals("庚寅",lunar.getDayInGanZhi());
}
@Test
public void test9() {
Solar solar = new Solar(2012, 8, 5);
Lunar lunar = solar.getLunar();
Assert.assertEquals("戊戌",lunar.getDayInGanZhi());
}
@Test
public void test10() {
Solar solar = new Solar(2012, 9, 20);
Lunar lunar = solar.getLunar();
Assert.assertEquals("壬辰",lunar.getYearInGanZhi());
Assert.assertEquals("己酉",lunar.getMonthInGanZhi());
Assert.assertEquals("甲申",lunar.getDayInGanZhi());
}
@Test
public void test11() {
Solar solar = new Solar(2012, 10, 20);
Lunar lunar = solar.getLunar();
Assert.assertEquals("壬辰",lunar.getYearInGanZhi());
Assert.assertEquals("庚戌",lunar.getMonthInGanZhi());
Assert.assertEquals("甲寅",lunar.getDayInGanZhi());
}
@Test
public void test12() {
Solar solar = new Solar(2012, 11, 20);
Lunar lunar = solar.getLunar();
Assert.assertEquals("壬辰",lunar.getYearInGanZhi());
Assert.assertEquals("辛亥",lunar.getMonthInGanZhi());
Assert.assertEquals("乙酉",lunar.getDayInGanZhi());
}
@Test
public void test13() {
Solar solar = new Solar(2012, 12, 20);
Lunar lunar = solar.getLunar();
Assert.assertEquals("壬辰",lunar.getYearInGanZhi());
Assert.assertEquals("壬子",lunar.getMonthInGanZhi());
Assert.assertEquals("乙卯",lunar.getDayInGanZhi());
}
@Test
public void test14() {
Solar solar = new Solar(2012, 12, 27);
Lunar lunar = solar.getLunar();
Assert.assertEquals("壬辰",lunar.getYearInGanZhi());
Assert.assertEquals("壬子",lunar.getMonthInGanZhi());
Assert.assertEquals("壬戌",lunar.getDayInGanZhi());
}
@Test
public void test15() {
Solar solar = new Solar(1988, 2, 15);
Lunar lunar = solar.getLunar();
Assert.assertEquals("丁卯",lunar.getYearInGanZhi());
}
@Test
public void test16() {
Solar solar = new Solar(1988, 2, 15, 23, 30,0);
Lunar lunar = solar.getLunar();
Assert.assertEquals("丁卯",lunar.getYearInGanZhi());
Assert.assertEquals("戊辰",lunar.getYearInGanZhiByLiChun());
Assert.assertEquals("戊辰",lunar.getYearInGanZhiExact());
}
}

View File

@@ -21,11 +21,54 @@ public class LunarTest {
Assert.assertEquals("2019-05-01 00:00:00 星期三 (劳动节) 金牛座",date.getSolar().toFullString());
}
@Test
public void test1(){
Solar solar = new Solar(1,1,1,12,0,0);
Assert.assertEquals("〇年冬月十八",solar.getLunar().toString());
}
@Test
public void test2(){
Solar solar = new Solar(9999,12,31,12,0,0);
Assert.assertEquals("九九九九年腊月初二",solar.getLunar().toString());
}
@Test
public void test3(){
Lunar lunar = new Lunar(0,11,18,12,0,0);
Assert.assertEquals("0001-01-01",lunar.getSolar().toString());
}
@Test
public void test4(){
Lunar lunar = new Lunar(9999,12,2,12,0,0);
Assert.assertEquals("9999-12-31",lunar.getSolar().toString());
}
@Test
public void test5(){
Lunar lunar = new Lunar(1905,1,1,12,0,0);
Assert.assertEquals("1905-02-04",lunar.getSolar().toString());
}
@Test
public void test6(){
Lunar lunar = new Lunar(2038,12,29,12,0,0);
Assert.assertEquals("2039-01-23",lunar.getSolar().toString());
}
@Test
public void test7(){
Lunar lunar = new Lunar(2020,-4,2,13,0,0);
Assert.assertEquals("二〇二〇年闰四月初二",lunar.toString());
Assert.assertEquals("2020-05-24",lunar.getSolar().toString());
}
@Test
public void testNext(){
Solar solar = new Solar(2020,1,10,12,0,0);
Lunar lunar = solar.getLunar();
for(int i=-500;i<500;i++){
for(int i=-50;i<50;i++){
Assert.assertEquals("推移天数:"+i,solar.next(i).getLunar().toFullString(),lunar.next(i).toFullString());
}
}

View File

@@ -20,6 +20,12 @@ public class SolarTest {
Assert.assertEquals("二〇一九年三月廿七 己亥(猪)年 戊辰(龙)月 戊戌(狗)日 子(鼠)时 纳音[平地木 大林木 平地木 桑柘木] 星期三 (七殿泰山王诞) 西方白虎 星宿[参水猿](吉) 彭祖百忌[戊不受田田主不祥 戌不吃犬作怪上床] 喜神方位[巽](东南) 阳贵神方位[艮](东北) 阴贵神方位[坤](西南) 福神方位[坎](正北) 财神方位[坎](正北) 冲[(壬辰)龙] 煞[北]",date.getLunar().toFullString());
}
@Test
public void test1(){
Solar solar = new Solar(2020,5,24,13,0,0);
Assert.assertEquals("二〇二〇年闰四月初二",solar.getLunar().toString());
}
@Test
public void testNext(){
Solar date = new Solar(2020,1,23);

View File

@@ -5,7 +5,7 @@ import org.junit.Assert;
import org.junit.Test;
/**
* 阳历测试
* 星座测试
*
* @author 6tail
*/

View File

@@ -0,0 +1,27 @@
package test;
import com.nlf.calendar.EightChar;
import com.nlf.calendar.Lunar;
import com.nlf.calendar.Solar;
import com.nlf.calendar.eightchar.Yun;
import org.junit.Assert;
import org.junit.Test;
/**
* 起运测试
*/
public class YunTest {
@Test
public void test1() {
Solar solar = new Solar(1981, 1, 29, 23, 37, 0);
Lunar lunar = solar.getLunar();
EightChar eightChar = lunar.getEightChar();
Yun yun = eightChar.getYun(0);
Assert.assertEquals("起运年数", 8, yun.getStartYear());
Assert.assertEquals("起运月数", 0, yun.getStartMonth());
Assert.assertEquals("起运天数", 20, yun.getStartDay());
Assert.assertEquals("起运阳历", "1989-02-18", yun.getStartSolar().toYmd());
}
}