以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  判断一个月跨越几个星期  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75164)

--  作者:bobolan521
--  发布时间:2015/9/29 9:39:00
--  判断一个月跨越几个星期
请问一下老师,在日期控件里随意选一个日期,用代码如果算出这个日期所在的月份跨越了几个星期?
--  作者:大红袍
--  发布时间:2015/9/29 9:50:00
--  
Dim d As Date = "2015-9-6"
Dim w As Integer = d.DayOfWeek \'算出今天是星期几
Dim dt As Date = d.AddDays(-w) \'获取本周的第一天
Dim m As Double
If dt.Month <> d.Month Then
    m = 1
Else
    m = dt.Day / 7
    If m = int(m) Then
        m  = m + 1
    Else
        m = m + 2
    End If
End If
msgbox(math.Floor(m))

--  作者:Hyphen
--  发布时间:2015/9/29 10:10:00
--  

Dim d As Date = #8/22/2015#

Dim fd As Date = new Date(d.Year,d.Month,1)\'月首
Dim ld As Date = new Date(d.AddMonths(1).Year,d.AddMonths(1).Month,1).AddDays(-1)\'月末
Dim f As Integer = fd.DayOfWeek
Dim ls As Integer = ld.DayOfWeek
Dim w As Integer = (ld.Day - (7-f) - ls -1)/7+2

Output.Show(w)


--  作者:bobolan521
--  发布时间:2015/9/29 10:17:00
--  
太感谢你了