Foxtable(狐表)用户栏目专家坐堂 → 时间计算


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

主题:时间计算

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/19 9:40:00 [显示全部帖子]

Dim d1 As Date = #04/09/2022 10:00# '开始时间
Dim hs As Double = 39 '计划耗时
Dim d11 As Date = New Date(d1.year, d1.month, d1.day, 8, 0, 0)
Dim d12 As Date = New Date(d1.year, d1.month, d1.day, 12, 0, 0)
Dim d21 As Date = New Date(d1.year, d1.month, d1.day, 13, 30, 0)
Dim d22 As Date = New Date(d1.year, d1.month, d1.day, 19, 30, 0)
Dim hh As Double
Dim d As Date = d1
If d <= d11 Then
    hh = 10
ElseIf d > d11 And d < d12 Then
    hh = (d12 - d).TotalHours + 6
ElseIf d > d12 And d < d21 Then
    hh = 6
ElseIf d > d21 And d < d22 Then
    hh = (d22 - d).TotalHours
End If
Output.Show("hh=" & hh)
d = d11
Do While hh < hs
    Dim c As Double = hs - hh
    Output.Show("c=" & c)
    If c > 10 Then
        hh += 10
        d = d.adddays(1)
        If d.DayOfWeek = 0 Then d = d.adddays(1)
        Output.Show("hh3=" & hh)
        Output.Show("d=" & d)
    Else
        hh += c
        Output.Show("c < 10")
        d = d.AddHours(c)
        Output.Show("hh4=" & hh)
        Output.Show("d2=" & d)
        Exit Do
    End If
Loop
d = d.adddays(1)
MsgBox("计划完成时间=" & d)


 回到顶部