以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求助:如何自动判断当天是当月的第几周  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=99410)

--  作者:zhimin
--  发布时间:2017/4/19 8:52:00
--  求助:如何自动判断当天是当月的第几周
如题,谢谢!
--  作者:有点色
--  发布时间:2017/4/19 9:27:00
--  

参考代码

 

Dim d As Date = Date.Today
Dim fday As Date = new Date(d.Year, d.Month, 1)
Dim finwek As Integer = fday.DayOfWeek
Dim fwekday As Integer = 7 - (finwek)
Dim diffday As Integer = d.Day - fwekday
diffday = iif(diffday > 0, diffday, 1)
Dim wekInMonth As Integer
If diffday Mod 7 = 0 Then
    wekInMonth = math.Floor(diffday / 7) - 1
Else
    wekInMonth = math.Floor(diffday / 7)
End If
wekInMonth += 1 + iif(d.Day > fwekday, 1, 0)
msgbox(wekInMonth)


--  作者:zhimin
--  发布时间:2017/4/19 9:37:00
--  
谢谢,这么多代码,费心了!
--  作者:2900819580
--  发布时间:2017/4/19 10:06:00
--  
有点色老师,我在统计表中统计出来的周,得出来的是全年的周,如何可以得到当月的第几周。
g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
g.Groups.AddDef("日期", "月")
g.Groups.AddDef("日期", DateGroupEnum.Week, "周")

--  作者:有点色
--  发布时间:2017/4/19 10:17:00
--  

 你需要用2楼的代码。在原来的表加入一列【周】,循环每一行,计算出对应的周数。

 


--  作者:2900819580
--  发布时间:2017/4/19 10:51:00
--  
以下是引用有点色在2017/4/19 10:17:00的发言:

 你需要用2楼的代码。在原来的表加入一列【周】,循环每一行,计算出对应的周数。

 


这个我知道,没办法在统计当中处理吗?


--  作者:有点色
--  发布时间:2017/4/19 12:00:00
--  
 你要根据周数分组的话,那就必须在原表处理。