如何绑定当月所有周三的日期?
如何绑定当月所有周三的日期? 绑定日期
[解决办法]
DateTime dtFirst=new DateTime(DateTime.Now.Year,DateTime.Now.Month,1);
for(DateTime dt=dtFirst;dt<=dtFirst.AddMonths(1).AddDays(-1);dt=dt.AddDays(1))
{
if(dt.DayOfWeek==DayOfWeek.Wednesday)
Console.WriteLine(dt.ToString());
}
[解决办法]
何谓绑定,获取本月所有周三倒是没问题
DateTime firstDay = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
int weekDay = (int)firstDay.DayOfWeek;
if (weekDay <= 3)
{
weekDay = 3 - weekDay;
}
else
{
weekDay = 7 - (weekDay - 3);
}
int monthDay = (firstDay.AddMonths(1) - firstDay).Days;
List<DateTime> list = new List<DateTime>();
for (int i = weekDay; i <= monthDay; i += 7)
{
list.Add(firstDay.AddDays(i));
}
[解决办法]
DateTime dtTemp = new DateTime();
DateTime dt = DateTime.Now;
DateTime dt_First = dt.AddDays(1 - (dt.Day));
//获得某年某月的天数
int year = dt.Date.Year;
int month = dt.Date.Month;
int dayCount = DateTime.DaysInMonth(year, month);
//本月最后一天时间
DateTime dt_Last = dt_First.AddDays(dayCount - 1);
string dt_Firstweek = dt_First.DayOfWeek.ToString();
List<DateTime> dtlist=new List<DateTime>();
switch (dt_Firstweek)
{
case "Monday":
dtTemp = dt_First.AddDays(2);
break;
case "Tuesday":
dtTemp = dt_First.AddDays(1);
break;
case "Wednesday":
dtTemp = dt_First;
break;
case "Thursday":
dtTemp = dt_First.AddDays(6);
break;
case "Friday":
dtTemp = dt_First.AddDays(5);
break;
case "Saturday":
dtTemp = dt_First.AddDays(4);
break;
case "Sunday":
dtTemp = dt_First.AddDays(3);
break;
}
dtlist.Add(dtTemp);
for (int i = 0; i < 5;i++)
{
dtTemp=dtTemp.AddDays(7);
if (DateTime.Compare(dtTemp, dt_Last) == -1)
{
dtlist.Add(dtTemp);
}
}
[解决办法]
也可以这样:
List<DateTime> list = new List<DateTime>();
int days = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);
for (int i = 0; i < days; i++)
{
DateTime dt = DateTime.Now.AddDays(-DateTime.Now.Day + 1 + i);
if (dt.DayOfWeek == DayOfWeek.Wednesday)
list.Add(dt);
}
[解决办法]
参考下面的方法,当然也可以获取星期三了:
http://www.cnblogs.com/insus/archive/2012/06/07/2541079.html