时间问题,取某一星期几的日期 一个时间段,比如是2011-09-01 到2011-09-30,现在我要获取这个时间段里面,所有星期一的日期,格式也是0000-00-00 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 遍历一下,日期类型里有判断星期几的函数,如果是星期一则MARK static void Main(string[] args) { DateTime dt1 = DateTime.Parse("2011-09-01"); DateTime dt2 = DateTime.Parse("2011-09-30"); DateTime[] dts = GetAllDays(dt1, dt2); foreach (DateTime var in dts) { if (var.DayOfWeek == DayOfWeek.Monday) { Console.WriteLine(var.ToShortDateString()); } } Console.ReadKey(); } private static DateTime[] GetAllDays(DateTime dt1, DateTime dt2) { List<DateTime> listDays = new List<DateTime>(); DateTime dtDay = new DateTime(); for (dtDay = dt1; dtDay.CompareTo(dt2) <= 0; dtDay = dtDay.AddDays(1)) { listDays.Add(dtDay); } return listDays.ToArray(); }结果:2011-09-052011-09-122011-09-192011-09-26 select datettime from test where datepart(weekday,datettime)=2 and datettiem between '2011-09-01' and '2011-09-30' public List<DateTime> getData(DateTime bTime, DateTime eTime, DayOfWeek dayOfWeek) { List<DateTime> result = new List<DateTime>(); for (int i = 0; bTime.DayOfWeek != dayOfWeek; i++) { if (i == 7) { break; } else { bTime.AddDays(1); } } for(;bTime<=eTime;bTime.AddDays(7)) { result.Add(bTime); } return result; } string year1 = TextBox1.Text.Trim(); string year2=TextBox2.Text.Trim(); int length1 = year1.Length - 8; int length2 = year1.Length - 8; int startTime =Convert.ToInt32(year1.ToString().Substring(8, length1)); int endTime = Convert.ToInt32(year1.ToString().Substring(8, length2)); string str = ""; for (int j = startTime; j <= endTime; j++) { string date = year1 + "-" + j; string week = ((DateTime.Parse(date)).DayOfWeek).ToString(); if (week == "Monday") { str += year1 + "-" + j + "\n"; } } Response.Write(str); select convert(nvarchar(10),datettime,23)from test where datepart(weekday,datettime)=2 and datettime<='2011-09-20' and datettime>='2011-09-14' AJAX 实现鼠标移入显示详细信息 迷糊的问题,那位朋友帮下忙. 请问如何一下安全方面的知识? 【100】邮箱服务器的配置,解决再追加100,顶者有分 邮件后台html代码 dategrid中出现的编辑问题 真只奇怪了,谁帮我看看啊? 怎样安装DotNetNuke_04.07.00_Install.zip并配置数据库 vb.net在web应用程序中怎么加入计时器控件Timer?? 关于百度地图WEB API用法 datalist中itemtemplate问题!达人速度了!拿分好机会啊! google maps
static void Main(string[] args)
{
DateTime dt1 = DateTime.Parse("2011-09-01");
DateTime dt2 = DateTime.Parse("2011-09-30");
DateTime[] dts = GetAllDays(dt1, dt2);
foreach (DateTime var in dts)
{
if (var.DayOfWeek == DayOfWeek.Monday)
{
Console.WriteLine(var.ToShortDateString());
}
}
Console.ReadKey();
}
private static DateTime[] GetAllDays(DateTime dt1, DateTime dt2)
{
List<DateTime> listDays = new List<DateTime>();
DateTime dtDay = new DateTime();
for (dtDay = dt1; dtDay.CompareTo(dt2) <= 0; dtDay = dtDay.AddDays(1))
{
listDays.Add(dtDay);
}
return listDays.ToArray();
}结果:
2011-09-05
2011-09-12
2011-09-19
2011-09-26
public List<DateTime> getData(DateTime bTime, DateTime eTime, DayOfWeek dayOfWeek)
{
List<DateTime> result = new List<DateTime>(); for (int i = 0; bTime.DayOfWeek != dayOfWeek; i++)
{ if (i == 7)
{
break;
}
else
{
bTime.AddDays(1);
}
}
for(;bTime<=eTime;bTime.AddDays(7))
{
result.Add(bTime);
}
return result;
}
string year2=TextBox2.Text.Trim();
int length1 = year1.Length - 8;
int length2 = year1.Length - 8;
int startTime =Convert.ToInt32(year1.ToString().Substring(8, length1));
int endTime = Convert.ToInt32(year1.ToString().Substring(8, length2));
string str = "";
for (int j = startTime; j <= endTime; j++)
{
string date = year1 + "-" + j;
string week = ((DateTime.Parse(date)).DayOfWeek).ToString();
if (week == "Monday")
{
str += year1 + "-" + j + "\n";
}
}
Response.Write(str);