把传入的起止时间拆分为以半小时为单位的时间,如把2008-9-23 07:30---2008-9-24 07:45  拆分为07:30-8:00 2008-9-23 把时间和日期 存入IList内。

解决方案 »

  1.   

    ArrayList al = new ArrayList();
    DateTime dtStart = DateTime.Parse("2008-9-23 07:30");
    DateTime dtEnd = DateTime.Parse("2008-9-24 07:45");            
    string sStart = "";
    sStart = dtStart.ToString("hh:mm");
    dtStart = dtStart.AddMinutes(30);
    while (dtStart < dtEnd) {
        al.Add(sStart + "-" + dtStart.ToString("hh:mm") + " " + dtStart.ToString("yyyy-MM-dd"));
        sStart = dtStart.ToString("hh:mm");
        dtStart = dtStart.AddMinutes(30);    
    }
      

  2.   

    思路:解析出当前时间,然后加30分钟,得出时间之后判断是否小于最终时间,如果不小于就格式化后加入list
      

  3.   

            private static IList<string> HalfHourList(DateTime st, DateTime et)
            {
                IList<string> hhl = new List<string>();
                if (et < st) return null;
                while (st.AddHours(0.5) < et)
                {
                    hhl.Add(st.ToString("HH:mm") + "-" + st.AddHours(0.5).ToString("HH:mm") + " " + st.ToShortDateString());
                    st = st.AddHours(0.5);
                }
                hhl.Add(st.ToString("HH:mm") + "-" + et.ToString("HH:mm") + " " + st.ToShortDateString());            foreach (string s in hhl)
                    Console.WriteLine(s);
                return hhl;
            }