asp.Netある時間帯の週を取得し、表形式で並べ替える

5369 ワード

コードは次のとおりです.
 
  
string start = Request.Form.Get("date2").ToString(); // , html
string end = Request.Form.Get("date3").ToString(); // , html
string[] start_date = start.Split('-'); // 、 、
string[] end_date = end.Split('-'); // 、 、
DateTime dt1 = new DateTime(int.Parse(start_date[0]), int.Parse(start_date[1]), int.Parse(start_date[2]));
DateTime dt2 = new DateTime(int.Parse(end_date[0]), int.Parse(end_date[1]), int.Parse(end_date[2]));
TimeSpan ts = dt2 - dt1;
// public string table_td = "";
table_td = "";
// , , , 2 ,
switch (dt1.DayOfWeek.ToString())
{
case "Tuesday":
table_td += "";
break;
case "Tuesday":
table_td += "";
break;
case "Wednesday":
table_td += "";
break;
case "Thursday":
table_td += "";
break;
case "Friday":
table_td += "";
break;
case "Saturday":
table_td += "";
break;
case "Sunday":
table_td += "";
break;
}
}
//
table_td += "
";
break;
case "Wednesday":
table_td += "
";
break;
case "Thursday":
table_td += "
";
break;
case "Friday":
table_td += "
";
break;
case "Saturday":
table_td += "
";
break;
case "Sunday":
table_td += "
";
break;
}
//
for (int i = 0; i < ts.Days; i++)
{
string sdate = dt1.AddDays(i).Day.ToString();
switch (dt1.AddDays(i).DayOfWeek.ToString())
{
case "Monday":
table_td += "
" + sdate + "" + sdate + "" + sdate + "" + sdate + "" + sdate + "" + sdate + "" + sdate + "
";

タブを印刷tdでいいです.
以上は私が自分で書いたものですが、あまりよくないと思います.次は他の人が私が終わった後、私に作ってくれたものを提供します.コードは以下の通りです.
 
  
int weekIndex(string item)
{
string[] week = new string[] { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
int index = -1;
for (int i = 0; i < week.Length; i++)
{
if (week[i].Trim().ToUpper() == item.ToUpper().Trim())
{
index = i;
break;
}
}
return index;
}
 
  
StringBuilder sb = new StringBuilder();
sb.Remove(0, sb.Length);
sb.Append("");
DateTime dt1 = new DateTime(2010, 3, 16);
DateTime dt2 = new DateTime(2010, 4, 13);
TimeSpan ts = dt2 - dt1;
int index; DateTime dtTemp;
for (int i = 0; i < ts.Days; i++) {
dtTemp=dt1.AddDays(i);
index = weekIndex(dtTemp.DayOfWeek.ToString());
if (index == 0 && i > 0)
{
sb.AppendFormat("", dtTemp.ToString("MM-dd"));
}
else if (index > 0 && i == 0)
{
sb.Append("");
for (int j = 0; j <= index - 1; j++)
{
sb.Append("");
}
sb.AppendFormat("", dtTemp.ToString("MM-dd"));
}
else if (index == 6 && i>0)
{
sb.AppendFormat("", dtTemp.ToString("MM-dd"));
}
else {
sb.AppendFormat("", dtTemp.ToString("MM-dd"));
}
}
sb.Append("
{0}
 {0}{0}
{0}
");
Response.Write(sb.ToString());

見終わったら、大体同じ考えですが、ただ......初心者は仕方がない.努力を続ける.