Foxtable(狐表)用户栏目专家坐堂 → 求一段时间内,星期(星期一,二,三......)的天数


  共有1794人关注过本帖树形打印复制链接

主题:求一段时间内,星期(星期一,二,三......)的天数

帅哥哟,离线,有人找我吗?
yigusheng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:12 积分:197 威望:0 精华:0 注册:2016/12/23 16:59:00
求一段时间内,星期(星期一,二,三......)的天数  发帖心情 Post By:2017/1/10 12:51:00 [只看该作者]

表A

 

星期     开始时间      结束时间          天数

星期一 2012/12/15  2013/12/20
星期二 2012/12/15  2013/12/20

 

 

计算从开始到结束时间[星期]列(星期几)的天数,比如2017年1月9日--2017年1月10   星期一的天数是1

 

请问如何编写按钮代码


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/1/10 13:57:00 [只看该作者]

Dim d1 As Date = #12/15/2012#
Dim d2 As Date = #12/20/2013#
Dim dict As new Dictionary(of String,Integer)
For i As Integer = 0 To 6
    dict.Add(Cstr(i),0)
Next

Do While d1<= d2
    dict(d1.DayOfWeek) += 1
    d1 =d1.AddDays(1)
Loop

For Each d As String In dict.Keys
    Output.Show("星期" & d & "数量 = " & dict(d))
Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/10 14:13:00 [只看该作者]

 你本来的代码就没问题啊。

 


For Each tt As DataRow In DataTables("时间表").DataRows
    Dim d1 As Date = tt("开始时间")
    Dim d2 As Date = tt("结束时间")
    Dim d3 As Date = d1
    Dim w1 As Integer = 0
    Dim w2 As Integer = 0
    Dim w3 As Integer = 0
    Dim w4 As Integer = 0
    Dim w5 As Integer = 0
   
    Do While d3<= d2
        Select Case d3.DayOfWeek
            Case 1
                w1 = w1 +1
            Case 2
                w2 = w2 +1
            Case 3
                w3 = w3 +1
            Case 4
                w4 = w4 +1
            Case 5
                w5 = w5 +1
        End Select
        d3 =d3.AddDays(1)
    Loop
   
    Select Case tt("星期")
        Case "星期一"
            tt("天数") = w1
        Case "星期二"
            tt("天数") = w2
        Case "星期三"
            tt("天数") = w3
        Case "星期四"
            tt("天数") = w4
        Case "星期五"
            tt("天数") = w5
    End Select
Next 


 回到顶部