コード例 #1
0
ファイル: HHTimeTest.cs プロジェクト: maiernte/huahebase
        public void 八字调整Test()
        {
            DateTime day  = new DateTime(1978, 7, 1, 6, 45, 0);
            HHTime   ming = new HHTime(day);

            Assert.IsNotNull(ming);

            Assert.AreEqual("戊午", ming.年.Name);
            Assert.AreEqual("戊午", ming.月.Name);
            Assert.AreEqual("甲子", ming.日.Name);
            Assert.AreEqual("丁卯", ming.时.Name);

            HHTime ming1 = new HHTime(day, 确定时辰: false);

            Assert.IsNotNull(ming1);
            Assert.AreEqual("戊午", ming1.年.Name);
            Assert.AreEqual("戊午", ming1.月.Name);
            Assert.AreEqual("甲子", ming1.日.Name);
            Assert.AreEqual("口口", ming1.时.Name);

            // 2017.2.3 晚 23后换月令 所以当天还是
            DateTime old     = new DateTime(2017, 2, 3, 22, 45, 0);
            HHTime   mingOld = new HHTime(old);

            Assert.AreEqual("丙申", mingOld.年.Name);
            Assert.AreEqual("辛丑", mingOld.月.Name);
            Assert.AreEqual("辛酉", mingOld.日.Name);
            Assert.AreEqual("己亥", mingOld.时.Name);

            DateTime lichun     = new DateTime(2017, 2, 3, 23, 45, 0);
            HHTime   mingLiChun = new HHTime(lichun);

            Assert.AreEqual("丁酉", mingLiChun.年.Name);
            Assert.AreEqual("壬寅", mingLiChun.月.Name);
            Assert.AreEqual("壬戌", mingLiChun.日.Name);
            Assert.AreEqual("庚子", mingLiChun.时.Name);

            day  = new DateTime(2017, 2, 2, 7, 45, 0);
            ming = new HHTime(day);
            Assert.AreEqual("丙申", ming.年.Name);
            Assert.AreEqual("辛丑", ming.月.Name);
            Assert.AreEqual("庚申", ming.日.Name);
            Assert.AreEqual("庚辰", ming.时.Name);


            BaZiList <GanZhi> bazi = BaZiList.Create(new GanZhi(""), new GanZhi("卯"), new GanZhi("甲子"), new GanZhi(""));

            ming = new HHTime(bazi);
            Assert.IsNotNull(ming);
            Assert.AreEqual(-1, ming.年.Index);
            Assert.AreEqual(-1, ming.月.Index);
            Assert.AreEqual(0, ming.日.Index);
            Assert.AreEqual("口卯", ming.月.Name);
            Assert.AreEqual("口卯月 甲子日 ", ming.TimeText);
            Assert.AreEqual("/卯/甲子/", ming.ToString());
        }
コード例 #2
0
ファイル: HHTimeTest.cs プロジェクト: maiernte/huahebase
        public void ParseMethodeTest()
        {
            DateTime day  = new DateTime(1978, 7, 1, 6, 45, 0);
            string   text = day.ToString();

            HHTime time = HHTime.Parse(text);

            Assert.IsNotNull(time);
            Assert.AreEqual(text, time.ToString());

            time = HHTime.Parse(text, 确定时辰: false);
            Assert.IsNotNull(time);
            Assert.AreEqual(day.ToShortDateString(), time.ToString());

            BaZiList <GanZhi> bazi = BaZiList.Create(new GanZhi(""), new GanZhi("卯"), new GanZhi("甲子"), new GanZhi(""));

            Assert.AreEqual("/卯/甲子/", bazi.ToString());
            time = HHTime.Parse(bazi.ToString());
            Assert.AreEqual(bazi.ToString(), time.ToString());

            time = HHTime.Parse("//丁卯/");
            Assert.AreEqual("//丁卯/", time.ToString());
        }