public void testLiuYue() { Solar solar = new Solar(1983, 2, 15, 20, 0, 0); Lunar lunar = solar.getLunar(); EightChar bazi = lunar.getEightChar(); Yun yun = bazi.getYun(0); DaYun[] daYun = yun.getDaYun(); String[] ganZhi = { "甲寅", "乙卯", "丙辰", "丁巳", "戊午", "己未", "庚申", "辛酉", "壬戌", "癸亥", "甲子", "乙丑" }; LiuNian[] liuNian = daYun[0].getLiuNian(); LiuYue[] l = liuNian[0].getLiuYue(); for (int i = 0, j = l.Length; i < j; i++) { LiuYue liuYue = l[i]; Assert.AreEqual(ganZhi[i], liuYue.getGanZhi()); } ganZhi = new String[] { "庚寅", "辛卯", "壬辰", "癸巳", "甲午", "乙未", "丙申", "丁酉", "戊戌", "己亥", "庚子", "辛丑" }; liuNian = daYun[4].getLiuNian(); l = liuNian[2].getLiuYue(); for (int i = 0, j = l.Length; i < j; i++) { LiuYue liuYue = l[i]; Assert.AreEqual(ganZhi[i], liuYue.getGanZhi()); } }
public void testXiaoYun() { Solar solar = new Solar(1983, 2, 15, 20, 0, 0); Lunar lunar = solar.getLunar(); EightChar bazi = lunar.getEightChar(); Yun yun = bazi.getYun(0); DaYun[] daYun = yun.getDaYun(); int[] years = { 1983, 1984, 1985, 1986, 1987, 1988 }; int[] ages = { 1, 2, 3, 4, 5, 6 }; String[] ganZhi = { "乙亥", "丙子", "丁丑", "戊寅", "己卯", "庚辰" }; XiaoYun[] l = daYun[0].getXiaoYun(); for (int i = 0, j = l.Length; i < j; i++) { XiaoYun xiaoYun = l[i]; Assert.AreEqual(years[i], xiaoYun.getYear()); Assert.AreEqual(ages[i], xiaoYun.getAge()); Assert.AreEqual(ganZhi[i], xiaoYun.getGanZhi()); } years = new int[] { 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038 }; ages = new int[] { 47, 48, 49, 50, 51, 52, 53, 54, 55, 56 }; ganZhi = new String[] { "辛酉", "壬戌", "癸亥", "甲子", "乙丑", "丙寅", "丁卯", "戊辰", "己巳", "庚午" }; l = daYun[5].getXiaoYun(); for (int i = 0, j = l.Length; i < j; i++) { XiaoYun xiaoYun = l[i]; Assert.AreEqual(years[i], xiaoYun.getYear()); Assert.AreEqual(ages[i], xiaoYun.getAge()); Assert.AreEqual(ganZhi[i], xiaoYun.getGanZhi(), years[i] + "年"); } }
public void testBaZiDayXunKong() { Solar solar = new Solar(1990, 12, 23, 8, 37, 0); Lunar lunar = solar.getLunar(); EightChar eightChar = lunar.getEightChar(); Assert.AreEqual("子丑", eightChar.getDayXunKong()); }
public void testQiYun() { Solar solar = new Solar(1983, 2, 15, 20, 0, 0); Lunar lunar = solar.getLunar(); EightChar bazi = lunar.getEightChar(); Yun yun = bazi.getYun(0); Assert.AreEqual(6, yun.getStartYear()); Assert.AreEqual(2, yun.getStartMonth()); Assert.AreEqual(20, yun.getStartDay()); Assert.AreEqual("1989-05-05", yun.getStartSolar().toYmd()); solar = new Solar(2013, 7, 13, 16, 17, 0); lunar = solar.getLunar(); bazi = lunar.getEightChar(); yun = bazi.getYun(0); Assert.AreEqual(8, yun.getStartYear()); Assert.AreEqual(4, yun.getStartMonth()); Assert.AreEqual(0, yun.getStartDay()); Assert.AreEqual("2021-11-13", yun.getStartSolar().toYmd()); solar = new Solar(2020, 8, 18, 10, 0, 0); lunar = solar.getLunar(); bazi = lunar.getEightChar(); yun = bazi.getYun(0); Assert.AreEqual(3, yun.getStartYear()); Assert.AreEqual(8, yun.getStartMonth()); Assert.AreEqual(0, yun.getStartDay()); Assert.AreEqual("2024-04-18", yun.getStartSolar().toYmd()); solar = new Solar(1972, 6, 15, 0, 0, 0); lunar = solar.getLunar(); bazi = lunar.getEightChar(); yun = bazi.getYun(1); Assert.AreEqual(7, yun.getStartYear()); Assert.AreEqual(5, yun.getStartMonth()); Assert.AreEqual(10, yun.getStartDay()); Assert.AreEqual("1979-11-25", yun.getStartSolar().toYmd()); solar = new Solar(1968, 11, 22, 0, 0, 0); lunar = solar.getLunar(); bazi = lunar.getEightChar(); yun = bazi.getYun(1); Assert.AreEqual(5, yun.getStartYear()); Assert.AreEqual(1, yun.getStartMonth()); Assert.AreEqual(20, yun.getStartDay()); Assert.AreEqual("1974-01-11", yun.getStartSolar().toYmd()); solar = new Solar(1968, 11, 23, 0, 0, 0); lunar = solar.getLunar(); bazi = lunar.getEightChar(); yun = bazi.getYun(1); Assert.AreEqual(4, yun.getStartYear()); Assert.AreEqual(9, yun.getStartMonth()); Assert.AreEqual(20, yun.getStartDay()); Assert.AreEqual("1973-09-12", yun.getStartSolar().toYmd()); }
public void testDaYun() { int[] startYears = { 1983, 1989, 1999, 2009, 2019, 2029, 2039, 2049, 2059, 2069 }; int[] endYears = { 1988, 1998, 2008, 2018, 2028, 2038, 2048, 2058, 2068, 2078 }; int[] startAges = { 1, 7, 17, 27, 37, 47, 57, 67, 77, 87 }; int[] endAges = { 6, 16, 26, 36, 46, 56, 66, 76, 86, 96 }; String[] yearGanZhi = { "", "乙卯", "丙辰", "丁巳", "戊午", "己未", "庚申", "辛酉", "壬戌", "癸亥" }; Solar solar = new Solar(1983, 2, 15, 20, 0, 0); Lunar lunar = solar.getLunar(); EightChar bazi = lunar.getEightChar(); Yun yun = bazi.getYun(0); DaYun[] l = yun.getDaYun(); for (int i = 0, j = l.Length; i < j; i++) { DaYun daYun = l[i]; Assert.AreEqual(startYears[i], daYun.getStartYear()); Assert.AreEqual(endYears[i], daYun.getEndYear()); Assert.AreEqual(startAges[i], daYun.getStartAge()); Assert.AreEqual(endAges[i], daYun.getEndAge()); Assert.AreEqual(yearGanZhi[i], daYun.getGanZhi()); } }
static void Main(string[] args) { // ÑôÀú Solar solar = new Solar(2020, 5, 26, 23, 42, 0); Console.WriteLine(solar); Console.WriteLine(solar.toFullString()); // ÒõÀú Lunar lunar = solar.getLunar(); Console.WriteLine(lunar); Console.WriteLine(lunar.toFullString()); // °Ë×Ö EightChar baZi = lunar.getEightChar(); Console.WriteLine(baZi.getYear() + " " + baZi.getMonth() + " " + baZi.getDay() + " " + baZi.getTime()); // °Ë×ÖÄÉÒô Console.WriteLine(baZi.getYearNaYin() + " " + baZi.getMonthNaYin() + " " + baZi.getDayNaYin() + " " + baZi.getTimeNaYin()); // °Ë×ÖÎåÐÐ Console.WriteLine(baZi.getYearWuXing() + " " + baZi.getMonthWuXing() + " " + baZi.getDayWuXing() + " " + baZi.getTimeWuXing()); // °Ë×ÖÌì¸ÉÊ®Éñ Console.WriteLine(baZi.getYearShiShenGan() + " " + baZi.getMonthShiShenGan() + " " + baZi.getDayShiShenGan() + " " + baZi.getTimeShiShenGan()); // °Ë×ÖµØ֧ʮÉñ Console.WriteLine(baZi.getYearShiShenZhi()[0] + " " + baZi.getMonthShiShenZhi()[0] + " " + baZi.getDayShiShenZhi()[0] + " " + baZi.getTimeShiShenZhi()[0]); // °Ë×ÖÄê֧ʮÉñ foreach (string s in baZi.getYearShiShenZhi()) { Console.Write(s + " "); } Console.WriteLine(); // °Ë×ÖÔÂ֧ʮÉñ foreach (string s in baZi.getMonthShiShenZhi()) { Console.Write(s + " "); } Console.WriteLine(); // °Ë×ÖÈÕ֧ʮÉñ foreach (string s in baZi.getDayShiShenZhi()) { Console.Write(s + " "); } Console.WriteLine(); // °Ë×Öʱ֧ʮÉñ foreach (string s in baZi.getTimeShiShenZhi()) { Console.Write(s + " "); } Console.WriteLine(); // °Ë×ÖÌ¥Ôª Console.WriteLine(baZi.getTaiYuan()); // °Ë×ÖÃü¹¬ Console.WriteLine(baZi.getMingGong()); // °Ë×ÖÉí¹¬ Console.WriteLine(baZi.getShenGong()); // ½Ú¼ÙÈÕ List <Holiday> holidays = HolidayUtil.getHolidays(2012); foreach (Holiday holiday in holidays) { Console.WriteLine(holiday); } Console.WriteLine(); // °Ë×ÖתÑôÀú List <Solar> solars = Solar.fromBaZi("¸ý×Ó", "Îì×Ó", "¼ºÃ®", "¸ýÎç"); foreach (Solar d in solars) { Console.WriteLine(d.toFullString()); } Console.WriteLine(); Console.ReadLine(); }
static void Main(string[] args) { // 阳历 Solar solar = new Solar(2020, 5, 26, 23, 42, 0); Console.WriteLine(solar); Console.WriteLine(solar.toFullString()); // 阴历 Lunar lunar = solar.getLunar(); Console.WriteLine(lunar); Console.WriteLine(lunar.toFullString()); // 八字 EightChar baZi = lunar.getEightChar(); Console.WriteLine(baZi.getYear() + " " + baZi.getMonth() + " " + baZi.getDay() + " " + baZi.getTime()); // 八字纳音 Console.WriteLine(baZi.getYearNaYin() + " " + baZi.getMonthNaYin() + " " + baZi.getDayNaYin() + " " + baZi.getTimeNaYin()); // 八字五行 Console.WriteLine(baZi.getYearWuXing() + " " + baZi.getMonthWuXing() + " " + baZi.getDayWuXing() + " " + baZi.getTimeWuXing()); // 八字天干十神 Console.WriteLine(baZi.getYearShiShenGan() + " " + baZi.getMonthShiShenGan() + " " + baZi.getDayShiShenGan() + " " + baZi.getTimeShiShenGan()); // 八字地支十神 Console.WriteLine(baZi.getYearShiShenZhi()[0] + " " + baZi.getMonthShiShenZhi()[0] + " " + baZi.getDayShiShenZhi()[0] + " " + baZi.getTimeShiShenZhi()[0]); // 八字年支十神 foreach (string s in baZi.getYearShiShenZhi()) { Console.Write(s + " "); } Console.WriteLine(); // 八字月支十神 foreach (string s in baZi.getMonthShiShenZhi()) { Console.Write(s + " "); } Console.WriteLine(); // 八字日支十神 foreach (string s in baZi.getDayShiShenZhi()) { Console.Write(s + " "); } Console.WriteLine(); // 八字时支十神 foreach (string s in baZi.getTimeShiShenZhi()) { Console.Write(s + " "); } Console.WriteLine(); // 八字胎元 Console.WriteLine(baZi.getTaiYuan()); // 八字命宫 Console.WriteLine(baZi.getMingGong()); // 八字身宫 Console.WriteLine(baZi.getShenGong()); Console.WriteLine(); solar = new Solar(1988, 3, 20, 18, 0, 0); lunar = solar.getLunar(); EightChar bazi = lunar.getEightChar(); // 男运 Yun yun = bazi.getYun(1); Console.WriteLine("阳历" + solar.toYmdHms() + "出生"); Console.WriteLine("出生" + yun.getStartYear() + "年" + yun.getStartMonth() + "个月" + yun.getStartDay() + "天后起运"); Console.WriteLine("阳历" + yun.getStartSolar().toYmd() + "后起运"); Console.WriteLine(); // 节假日 List <Holiday> holidays = HolidayUtil.getHolidays(2012); foreach (Holiday holiday in holidays) { Console.WriteLine(holiday); } Console.WriteLine(); // 八字转阳历 List <Solar> solars = Solar.fromBaZi("庚子", "戊子", "己卯", "庚午"); foreach (Solar d in solars) { Console.WriteLine(d.toFullString()); } Console.WriteLine(); Console.ReadLine(); }