比如今天的日期是 2007/2/22, 理论(得到某一日期的Week开始日)上ListBox上应该输出2007/2/18,但是结果输出的仍然是2007/2/22!真的不明白,望指教~~private void button7_Click(object sender, System.EventArgs e)
{
DateTime a=DateTime.Now;
GetWeekDate(DateTime.Now,ref a);
listBox1.Items.Add(a.ToString());
listBox1.Items.Add(a.AddDays(3).ToString());
}Private void GetWeekDate(DateTime GivenDay,ref DateTime BeginDate)'得到某一天的Week开始日 {
int a=0;
switch(GivenDay.DayOfWeek)
{
case DayOfWeek.Friday:
a=5;
break;
case DayOfWeek.Monday:
a=8;
break;
case DayOfWeek.Saturday:
a=6;
break;
case DayOfWeek.Sunday:
a=7;
break;
case DayOfWeek.Thursday:
a=4;
break;
case DayOfWeek.Tuesday:
a=2;
break;
case DayOfWeek.Wednesday:
a=3;
break;
} BeginDate=GivenDay;
BeginDate.AddDays(a*(-1));//返回的数并没有增加到(a*(-1))天
}
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070212http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
AddDays的结果是作为返回值返回的,而不是作用在调用该方法的类实例上.
DateTime.Now.AddDays(365);
不就把今天改了?
{
return GivenDay.AddDays(1 - (int)GivenDay.DayOfWeek );
}一行代码搞定.