Foxtable(狐表)用户栏目专家坐堂 → 法定假期


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

主题:法定假期

美女呀,离线,留言给我吧!
联友
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2565 威望:0 精华:0 注册:2013/5/23 9:49:00
法定假期  发帖心情 Post By:2019/9/17 22:27:00 [只看该作者]

Dim tp As TimeSpan = e.Form.Controls("结束日期").Value - e.Form.Controls("开始日期").Value
e.Form.Controls("天数").Value = tp.TotalDays +1-(周六 周日 假期) + 上班

请师傅指教,谢谢


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190917222845.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/9/17 22:37:17编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106561 积分:541970 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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 

 回到顶部
美女呀,离线,留言给我吧!
联友
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2565 威望:0 精华:0 注册:2013/5/23 9:49:00
  发帖心情 Post By:2019/9/18 7:24:00 [只看该作者]

老师计算不了,法定假期名称有周日或周六要上班。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:法定假期.rar

[此贴子已经被作者于2019/9/18 7:28:15编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106561 积分:541970 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部
美女呀,离线,留言给我吧!
联友
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2565 威望:0 精华:0 注册:2013/5/23 9:49:00
  发帖心情 Post By:2019/9/18 9:13:00 [只看该作者]

谢谢

 回到顶部