读书人

怎么计算指定时段算的所有周及周的时间

发布时间: 2013-08-16 14:29:57 作者: rapoo

如何计算指定时段算的所有周及周的时间段和星期几
例如:
开始时间:2013-07-01
结束时间:2013-08-31
想要的结果:
把这段时间内所有的周都列出来,如下所示,并指定当前系统时间的这个周为当前周。
第6周(13年08月05日-13年08月11日)



[解决办法]
这个用当前时间减去开始时间除以7应该就可以了…


DateTime dtStart = DateTime.Parse("2013-07-01");
DateTime dtEnd = DateTime.Parse("2013-08-31");
DateTime dtNow = DateTime.Now;
if (dtNow < dtEnd)
{
TimeSpan ts = dtNow - dtStart;
int week = ts.Days % 7 == 0 ? ts.Days / 7 : (ts.Days / 7) + 1;
MessageBox.Show(days.ToString());
}
else
{
MessageBox.Show("过期了");
}

[解决办法]
protected void Page_Load(object sender, EventArgs e)
{
DateTime beginDate = DateTime.Parse("2013-07-01");
DateTime endDate = DateTime.Parse("2013-08-31");
this.Label1.Text = getDateString(beginDate, endDate);
}

private string getDateString(DateTime beginDate, DateTime endDate)
{
if (beginDate < endDate)
{
int num = beginDate.DayOfYear % 7 == 0 ? beginDate.DayOfYear / 7 : beginDate.DayOfYear / 7 + 1;
string str = "第" + num.ToString() + "周 " + beginDate.ToShortDateString() + " " + beginDate.AddDays(7).ToShortDateString() + " ";


str += getDateString(beginDate.AddDays(7), endDate);
return str;
}
else
{
return "";
}
}
[解决办法]
给你一个获取当前周的开始日期和结束日期的小例子。


//一周开始时间和结束时间
DateTime dtWeekSt;
DateTime dtWeekEd;
//当前日期
DateTime dtNow = DateTime.Now.Date;
//今天是星期几
int iNowOfWeek = (int)dtNow.DayOfWeek;
if (iNowOfWeek == 0)
{
//按中国的习惯,星期天是最后一天
iNowOfWeek = 7;
}
dtWeekSt = dtNow.AddDays(1 - iNowOfWeek);
dtWeekEd = dtNow.AddDays(7 - iNowOfWeek);



读书人网 >C#

热点推荐