|M| 算两个时间内有多少个星期 快帮一下
StartBookDay = StartBookDay.AddDays(-(Int32)StartBookDay.DayOfWeek);
EndBookDay = EndBookDay.AddDays(+(7 - (Int32)EndBookDay.DayOfWeek));
开始时间的星期最前一天
结束时间的星期最后一天
相除
但我这里星期定义的开始一天为 星期一 结束为 星期日
我要怎么写两个时间的星期数最为科学
------解决方案--------------------没什么问题呀。
因为按一个星期计算是一定有误差的。比如一个星期多3天你到底算几个星期?
反正只要保证两个时间是同单位就可以减。
至于误差和舍入怎么定义就要看实际需要了。
------解决方案--------------------同一年:
结果时间所在的周(一年中)-开始时间所在的周(一年中)
不同一年:
52-开始时间所在的周(一年中)+年差×52+结束时间所在的周(一年中)
------解决方案--------------------算出起始日期的下个周日的日期.
算出结束日期的上周日的日期,这两个日期的星期数是整数.
然后 +2 不重合
或者+1 重合一个日期
或者+0 都不重合.
------解决方案--------------------查询当前周:
select * from table
where datediff(wk, 你的日期栏位, getdate())=0
------解决方案--------------------d
------解决方案--------------------select * from table
where datediff(wk, 你的日期栏位, getdate())=0
yes
------解决方案--------------------最好按自然周来确定
楼主的日期是从数据库取了再判断,还是不用数据库的数据?
------解决方案--------------------DateTime dt1 = DateTime.Parse( "2007-5-19 ");
DateTime dt2 = DateTime.Now;
DateTime dtfDay = dt1.AddDays(-1 * (int)dt1.DayOfWeek);
DateTime dtlDay = dt2.AddDays(-1*(int)dt2.DayOfWeek);
int iWeeks = ((TimeSpan)(dtlDay - dtfDay)).Days / 7;
if (dtlDay != dt2)
{
iWeeks++;
}
Response.Write(iWeeks.ToString());
------解决方案--------------------up
------解决方案--------------------不错