static void 干支历验证(int cy, int cm, int cd, int verifyMon, int verifyDay, bool verifyIsLeap = false) { var d = new DateTime(cy, cm, cd); var y = new 干支历(d); Assert.IsTrue(y.阴历月 == verifyMon && y.阴历日 == verifyDay && y.是闰月 == verifyIsLeap); Console.WriteLine($"阳历:{d:yyyy-MM-dd}\t阴历:{y.阴历}"); }
public void 干支纪年测试() { var 纪年 = new 干支历(new DateTime(2018, 12, 9)); Assert.IsTrue(纪年.年柱.称 == "戊戌"); Assert.IsTrue(纪年.月柱.称 == "甲子"); Assert.IsTrue(纪年.日柱.称 == "乙亥"); var 时间 = new DateTime(1995, 1, 24, 18, 25, 0); var 历 = new 干支历(时间); //甲戌年 【狗年】丁丑月 乙卯日 Assert.IsTrue(历.年柱.称 == "甲戌"); Assert.IsTrue(历.月柱.称 == "丁丑"); Assert.IsTrue(历.日柱.称 == "乙卯"); Console.WriteLine($"{历.年柱.名称}年{历.月柱.名称}月{历.日柱.名称}日"); }
public void 干支历测试() { 干支历 历 = null; 历 = new 干支历(new DateTime(1984, 3, 26, 23, 15, 0)); Assert.IsTrue(历.年柱.称 == "甲子"); Assert.IsTrue(历.月柱.称 == "丁卯"); Assert.IsTrue(历.日柱.称 == "己未"); Assert.IsTrue(历.时柱.称 == "甲子"); /* 开启早晚子计算 */ 历 = new 干支历(new DateTime(1984, 3, 26, 23, 15, 0), true); Assert.IsTrue(历.年柱.称 == "甲子"); Assert.IsTrue(历.月柱.称 == "丁卯"); Assert.IsTrue(历.日柱.称 == "庚申"); Assert.IsTrue(历.时柱.称 == "丙子"); 历 = new 干支历(new DateTime(1995, 10, 21, 19, 53, 0)); Assert.IsTrue(历.年柱.称 == "乙亥"); Assert.IsTrue(历.月柱.称 == "丙戌"); Assert.IsTrue(历.日柱.称 == "乙酉"); Assert.IsTrue(历.时柱.称 == "丙戌"); 历 = new 干支历(new DateTime(1987, 9, 1, 20, 45, 0)); Assert.IsTrue(历.年柱.称 == "丁卯"); Assert.IsTrue(历.月柱.称 == "戊申"); Assert.IsTrue(历.日柱.称 == "癸丑"); Assert.IsTrue(历.时柱.称 == "壬戌"); 历 = new 干支历(new DateTime(2019, 4, 22, 0, 1, 0)); Assert.IsTrue(历.年柱.称 == "己亥"); Assert.IsTrue(历.月柱.称 == "戊辰"); Assert.IsTrue(历.日柱.称 == "己丑"); 历 = new 干支历(new DateTime(1979, 8, 9, 7, 19, 0)); Assert.IsTrue(历.年柱.称 == "己未"); Assert.IsTrue(历.月柱.称 == "壬申"); Assert.IsTrue(历.日柱.称 == "戊申"); Assert.IsTrue(历.时柱.称 == "丙辰"); }