public static bool 是否在课程节数内(CourseTimeFormate CourseTime, DateTime SetTime) { float 当前节 = TimeTools.计算当前节(SetTime); foreach (int 节 in CourseTime.节) { if (当前节 >= 节 && 当前节 <= 节 + 1) { return(true); } } return(false); }
public static CourseTimeFormate Parse(string OldTimeFormate) { CourseTimeFormate temp = new CourseTimeFormate(); #region 转化星期 switch (OldTimeFormate.Substring(1, 1)) { case "一": temp.星期 = DayOfWeek.Monday; break; case "二": temp.星期 = DayOfWeek.Tuesday; break; case "三": temp.星期 = DayOfWeek.Wednesday; break; case "四": temp.星期 = DayOfWeek.Thursday; break; case "五": temp.星期 = DayOfWeek.Friday; break; case "六": temp.星期 = DayOfWeek.Saturday; break; case "日": temp.星期 = DayOfWeek.Sunday; break; } #endregion #region 转化周 //截取周数信息 var 周数的起始位置 = OldTimeFormate.IndexOf("{") + 1; var 周数的结束位置 = OldTimeFormate.IndexOf("}"); var 周数信息 = OldTimeFormate.Substring(周数的起始位置, 周数的结束位置 - 周数的起始位置); var 周数 = Regex.Replace(周数信息, @"[^0-9-]+", ""); //得到开始和结束 temp.开始周 = int.Parse(周数.Substring(0, 周数.IndexOf("-") - 0)); temp.结束周 = int.Parse(周数.Substring(周数.IndexOf("-") + 1, 周数.Length - 周数.IndexOf("-") - 1)); //得到单双周 if (OldTimeFormate.Contains("|")) { temp.单双周 = OldTimeFormate.Substring(OldTimeFormate.IndexOf("|") + 1, 1); } #endregion #region 转化节 string[] 节数 = OldTimeFormate.Substring(OldTimeFormate.IndexOf("第") + 1, OldTimeFormate.IndexOf("节") - OldTimeFormate.IndexOf("第") - 1).Split(new char[] { ',' }); foreach (string 节 in 节数) { temp.节.Add(int.Parse(节)); } #endregion return(temp); }