以文本方式查看主题

-  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=150479)

--  作者:tld
--  发布时间:2020/5/31 2:30:00
--  计算工作日
老师好。d1是日期,如何计算d1到今日共几个工作日?只考虑周六日,其他假期不计。谢谢了。
[此贴子已经被作者于2020/5/31 3:06:00编辑过]

--  作者:y2287958
--  发布时间:2020/5/31 8:51:00
--  
这个只能循环判断
--  作者:sloyy
--  发布时间:2020/5/31 13:58:00
--  
Dim date1,Date2 As Date
Date1="2020-05-01"
Date2="2020-05-31"
Dim Days As Integer = DateDiff("d",date1,date2) 
Dim Count As Integer
Dim Val As Date
For i As Integer = 0 To Days
   Val = Date1.AddDays(i)
   If Val.DayofWeek > 0 AndAlso Val.DayofWeek < 6 Then
      Count = Count + 1
   End If
Next
MessageBox.Show("工作天数:" & Count)

--  作者:tld
--  发布时间:2020/5/31 18:57:00
--  
谢谢!
--  作者:有点蓝
--  发布时间:2020/5/31 21:49:00
--  
如果跨月,这样计算

Dim date1,Date2 As Date
Date1="2020-05-01"
Date2="2020-06-15"

Dim Count As Integer
Do While Date1 <= Date2
    If Date1 .DayofWeek > 0 AndAlso Date1 .DayofWeek < 6 Then
        Count = Count + 1
    End If
    Date1 = Date1.AddDays(1)
Loop
msgbox(Count )