如何计算指定时段算的所有周及周的时间段和星期几
例如:
开始时间: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() + " ";