Foxtable(狐表)用户栏目专家坐堂 → 想知道某一时段内不用上班的天数,求算法 (已解决)


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

主题:想知道某一时段内不用上班的天数,求算法 (已解决)

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


加好友 发短信
等级:九尾狐 帖子:2180 积分:13804 威望:0 精华:2 注册:2012/2/25 10:59:00
想知道某一时段内不用上班的天数,求算法 (已解决)  发帖心情 Post By:2013/12/31 22:40:00 [只看该作者]


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

假设星期六 星期天不用上班的话,从2013-12-12 到2013-12-25 有4天不用上班,各位大侠有没有好的算法?
[此贴子已经被作者于2014-1-1 0:52:23编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/31 23:11:00 [只看该作者]

 如果是周六周日的话,应该有这样的规律。

 得到开始日期是星期几,7减去之得到下周一的天数n;结束日期减去开始日期得到的天数,天数减去n再除以 7,取整数,得到跨过多少周。

 整理一下,如果开始日期是周日,要加上3天;其他加上2天;

 再整理一下,如果结束日期是周六,要加上1天。

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


加好友 发短信
等级:九尾狐 帖子:2180 积分:13804 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2014/1/1 0:52:00 [只看该作者]

Dim Sdate,Tdate As Date
Sdate="2013-12-12"
Tdate="2013-12-25"
Dim T As TimeSpan
Dim N,M As Integer
N=7-Sdate.DayOfWeek
T=(TDate-Sdate)
M=Math.Floor((T.Days-N)/7)*2
M=M+iif(Sdate.DayOfWeek=0,3,2)
M=M+iif(TDate.DayOfWeek=6,1,0)
Message.Show(M)


非常正确 ,有点甜 谢谢了
[此贴子已经被作者于2014-1-1 0:53:50编辑过]

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


加好友 发短信
等级:二尾狐 帖子:501 积分:4167 威望:0 精华:0 注册:2013/1/18 13:34:00
  发帖心情 Post By:2014/1/1 3:31:00 [只看该作者]

Dim Sdate,Tdate As Date
Sdate="2013-12-12"
Tdate="2013-12-25"
Dim T As TimeSpan=TDate-Sdate
Dim d As Integer
For i As Integer=0 To t.TotalDays '将时段t转换为天数

'如果当天对应的周为0(星期日)或6(星期六)
If (sdate.AddDays(i)).DayOfWeek=0 OrElse (sdate.AddDays(i)).DayOfWeek=6 Then
d=d+1
End If
Next
Messagebox.Show(d)

 

注意:实际计算时还要考虑国家节假日的安排

 


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


加好友 发短信
等级:九尾狐 帖子:2180 积分:13804 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2014/1/1 11:26:00 [只看该作者]

ztmdnzc 你这思路太棒了图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
包头123
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1049 积分:8150 威望:0 精华:0 注册:2011/10/11 11:13:00
  发帖心情 Post By:2014/1/2 9:24:00 [只看该作者]

要是能实现剔除国家法定节日就好了。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/19 10:01:00 [只看该作者]

以下是引用包头123在2014/1/2 9:24:00的发言:
要是能实现剔除国家法定节日就好了。

 

你做一个表把法定节日的日期提取出来,然后减去,或者判断是否相等不久好了?


 回到顶部