以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 法定假期 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140941) |
||||
-- 作者:联友 -- 发布时间:2019/9/17 22:27:00 -- 法定假期 Dim tp As TimeSpan = e.Form.Controls("结束日期").Value - e.Form.Controls("开始日期").Value 请师傅指教,谢谢
[此贴子已经被作者于2019/9/17 22:37:17编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/9/17 22:50:00 -- Dim d1 As Date = e.Form.Controls("结束日期").Value Dim d2 As Date = e.Form.Controls("开始日期").Value Dim lst1 As New List(of Date) For Each dr As DataRow In DataTables("法定假期").Select("日期 >= #" & d1 & "# and 日期 <= #" & d2 & "#") lst1.Add(dr("日期")) Next Dim TotalDays As Integer Do While d1 <= d2 If d1.DayOfWeek = 0 OrElse d1.DayOfWeek = 6 OrElse lst1.Contains(d1) Else TotalDays += 1 End If d1 = d1.AddDays(1) Loop e.Form.Controls("天数").text = TotalDays
|
||||
-- 作者:联友 -- 发布时间:2019/9/18 7:24:00 -- 老师计算不了,法定假期名称有周日或周六要上班。
[此贴子已经被作者于2019/9/18 7:28:15编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/9/18 8:58:00 -- Dim d1 As Date = e.Form.Controls("开始日期").Value Dim d2 As Date = e.Form.Controls("结束日期").Value Dim lst1 As New List(of Date) Dim lst2 As New List(of Date) For Each dr As DataRow In DataTables("法定假期").Select("日期 >= #" & d1 & "# and 日期 <= #" & d2 & "# and 名称 <> \'上班\'") lst1.Add(dr("日期")) Next For Each dr As DataRow In DataTables("法定假期").Select("日期 >= #" & d1 & "# and 日期 <= #" & d2 & "# and 名称 = \'上班\'") lst2.Add(dr("日期")) Next Dim TotalDays As Integer Do While d1 <= d2 If (d1.DayOfWeek = 0 OrElse d1.DayOfWeek = 6 OrElse lst1.Contains(d1)) And lst2.Contains(d1) = False Else TotalDays += 1 End If d1 = d1.AddDays(1) Loop e.Form.Controls("天数").value = TotalDays
|
||||
-- 作者:联友 -- 发布时间:2019/9/18 9:13:00 -- 谢谢 |