public void FromDate() { var date = DateTime.Today; Console.WriteLine(date.ToShortDateString()); var cdate = ChineseDate.From(date); Console.WriteLine(cdate.ToString()); var date2 = cdate.ToDate(); var date3 = cdate.ToDate(); Console.WriteLine(date2.ToShortDateString()); Assert.Equal(date, date2); for (int i = 0; i < 100; i++) { date = date.AddDays(97); date3 = cdate.AddDays(97).ToDate(); cdate = ChineseDate.From(date); date2 = cdate.ToDate(); Assert.Equal(date, date2); Assert.Equal(date, date3); } date = DateTime.Today; cdate = ChineseDate.From(date); for (int i = 0; i < 100; i++) { date = date.AddDays(-73); date3 = cdate.AddDays(-73).ToDate(); cdate = ChineseDate.From(date); date2 = cdate.ToDate(); Assert.Equal(date, date2); Assert.Equal(date, date3); } }
public void Test() { var date = DateTime.Today; Console.WriteLine(date.ToShortDateString()); var cdate = ChineseDate.From(date); Console.WriteLine(cdate.ToString()); Console.WriteLine("日历名称:" + cdate.CalendarName); Console.WriteLine("天干:" + cdate.CelestialStem); Console.WriteLine("地支:" + cdate.TerrestrialBranch); Console.WriteLine("干支:" + cdate.ChineseEra); Console.WriteLine("生肖:" + cdate.AnimalSign); Console.WriteLine("年份:" + cdate.YearString); Console.WriteLine("月份:" + cdate.MonthString); Console.WriteLine("月:" + cdate.Month); Console.WriteLine("月序号:" + cdate.MonthIndex); Console.WriteLine("当年总月份数:" + cdate.MonthsInYear); Console.WriteLine("农历日:" + cdate.DayString); Console.WriteLine("日:" + cdate.Day); Console.WriteLine("当年总天数:" + cdate.DayInYear); Console.WriteLine("当月总天数:" + cdate.DayInMonth); Console.WriteLine("星期:" + cdate.DayOfWeek); Console.WriteLine("当年第几天:" + cdate.DayOfYear); Console.WriteLine("是否闰年:" + cdate.IsLeapMonth); Console.WriteLine("当年的闰月份:" + cdate.LeapMonthOfYear); }
public void Test2() { for (int i = 1; i <= 12; i++) { var cdate = ChineseDate.From(2020, i, 1); Console.WriteLine(cdate.ToString()); var cdate2 = ChineseDate.From(2020, i, -1); Console.WriteLine(cdate2.ToString()); } for (int i = 1; i <= 13; i++) { var cdate = ChineseDate.FromIndex(2020, i, 1); Console.WriteLine(cdate.ToString()); var cdate2 = ChineseDate.FromIndex(2020, i, -1); Console.WriteLine(cdate2.ToString()); } }
public void FromYearMonthDay() { var year = 1901; var cdate = ChineseDate.From(year, 1, 1); while (year < 2100) { year += 1; var cd2 = ChineseDate.From(year, 1, 1); cdate = cdate.AddYears(1); Console.WriteLine(cdate.ToString()); Assert.Equal(cd2, cdate); var cd3 = ChineseDate.From(year, -1, -1); Console.WriteLine(cd3.ToString()); Assert.True(cd3.MonthIndex == cd3.MonthsInYear); Assert.True(cd3.Day == cd3.DayInMonth); var cd4 = ChineseDate.FromIndex(cd3.Year, cd3.MonthIndex, cd3.Day); Assert.Equal(cd3, cd4); } }
private static void RefreshRealTimePrice() { string url = string.Empty; Encoding encoding = Encoding.UTF8; int count = 0; Rili rili = new Rili(); DataManipulation dm = new DataManipulation(); while (count <= days) { try { url = string.Format("http://laohuangli.51240.com/{0}__laohuangli/", beginDate.ToString("yyyy-M-d"));; string ori = gwc.GetWebContentByUrl(url, encoding); string dropHTML = string.Empty; if (ori.Contains("链接超时") || ori.Contains("链接异常")) { Log.Error("打开数据网站超时,日期:" + beginDate.ToString("yyyy-M-d")); } else { dropHTML = gwc.DropHTMLTag(ori); int start = 0; start = dropHTML.IndexOf("推荐工具"); dropHTML = dropHTML.Replace(dropHTML.Substring(start), ""); start = dropHTML.IndexOf("日期"); dropHTML = dropHTML.Substring(start); start = dropHTML.IndexOf("document"); string content = dropHTML.Replace(dropHTML.Substring(start), ""); //Log.Info(content); start = content.IndexOf("节气"); string jieqi = content.Substring(start); content = content.Replace(jieqi, ""); start = content.IndexOf("冲\n生肖冲"); content = content.Replace(content.Substring(start), ""); start = content.IndexOf("忌"); string ji = content.Substring(start); content = content.Replace(ji, ""); ji = ji.Contains("\n") ? ji.Replace("忌\n", "") : ""; start = content.IndexOf("宜"); string yi = content.Substring(start); content = content.Replace(yi, ""); yi = yi.Contains("\n") ? yi.Replace("宜\n", "") : ""; string riqi = content; ChineseDate cd = new ChineseDate(beginDate); rili = new Rili(); rili.Yangli = cd.DateString; rili.Nongli = cd.ChineseDateString; rili.Zhigan = cd.GanZhiDateString; rili.Xingzuo = cd.Constellation; rili.Xingqi = cd.WeekDayStr; rili.Yi = string.IsNullOrEmpty(yi) ? "诸事不宜." : yi; rili.Ji = string.IsNullOrEmpty(ji) ? "诸事不宜." : ji; int i = dm.AddRili(rili); if (i == 1) { Log.Info("日期数据入库成功:" + rili.ToString()); } else { Log.Error("日期数据入库失败:" + rili.ToString()); } } beginDate = beginDate.AddDays(1); count++; } catch (Exception ex) { Log.Error("数据收集线程出错:" + ex.ToString()); collectionThread.Abort(); } } }