首先,“指定日期”为一时间段,比如2010-3-16到2010-4-13
我想获取2010-3-16是星期几,然后一直获取到2010-4-13
然后以:
星期一 星期二 星期三 星期四 星期五 星期六 星期天
3-16 3-17 3-18 3-19 3-20 3-21
3-22 3-23 .......................................
以此类推,直到2010-4-13.。。。
问题大致就是以上这些了,希望大家能帮帮忙,十分感谢了。
直接代码了!呵呵 Asp.Net中写的
DateTime dt1 = new DateTime(2010, 3, 16);
DateTime dt2 = new DateTime(2010, 4, 13);
TimeSpan ts = dt2 - dt1;
for (int i = 0; i < ts.Days; i++) {
Response.Write(dt1.AddDays(i).DayOfWeek.ToString());
Response.Write("<br/>");
}
如果这里需要输出中文只需要做个判断 if(dt1.AddDays(i).DayOfWeek==DayOfWeek.Friday) 输出中文的 星期五 即可
上班间隙我也写了一个 可参考如下:
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("<table><tr><td>星期一</td><td>星期二</td><td>星期三</td><td>星期四</td><td>星期五</td><td>星期六</td><td>星期天</td></tr>");
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("<tr><td>{0}</td>", dtTemp.ToString("MM-dd"));
}
else if (index > 0 && i == 0)
{
sb.Append("<tr>");
for (int j = 0; j <= index - 1; j++)
{
sb.Append("<td> </td>");
}
sb.AppendFormat("<td>{0}</td>", dtTemp.ToString("MM-dd"));
}
else if (index == 6 && i>0)
{
sb.AppendFormat("<td>{0}</td></tr>", dtTemp.ToString("MM-dd"));
}
else {
sb.AppendFormat("<td>{0}</td>", dtTemp.ToString("MM-dd"));
}
}
sb.Append("</table>");
Response.Write(sb.ToString());
DateTime.Now.DayOfWeek
可以获取当天是周几,其他的按照这样也能计算出来。
时间转星期几:DateTime.Now.ToString("dddd")//今天星期几。
你写的这个功能应该是只要算好第一个日期是星期几就ok了,每行限制7个单元格。绑定.
DateTime dt1 = new DateTime(2010, 3, 16);
Response.Write(dt1.DayOfWeek.ToString());
把日期转为DateTime就可以取到是星期几了