如何在时间段中排除双休日和节假日

网络灵猫 2004-01-05 04:47:04
最近在做一个Web管理程序时,碰到一个比较棘手的问题。
要显示岗位1处理时间Date1和岗位2处理时间Date2之间超过3天的数据。我用Select * From Tab Where DateDiff(d,Date1,Date2)>= 3可以很容易地解决这个问题。
但是要排除周六和周日以及元旦(1天)、春节(7天)、五一(7天)、十一(7天),这就比较困难了。请各位高手帮忙解决,谢谢!
...全文
795 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
网络灵猫 2004-01-06
  • 打赏
  • 举报
回复
谢谢大家!
losenetway 2004-01-05
  • 打赏
  • 举报
回复
我觉得你还是把所有的 工作日 列出来比较好做
gshope 2004-01-05
  • 打赏
  • 举报
回复
实际上每年的休息日也就是100天左右,在100条记录的表里检索应该是很快的,唯一的,你每年要输入一次休息日,稍微麻烦点,但好在每年就一次。
gshope 2004-01-05
  • 打赏
  • 举报
回复
别忘了有到休的问题,也就是靠近春节或其他大假的周六日可能不休息的!而且每年这样的日子是不确定的,用程序计算是难以完全准确的!
ghostboy1020 2004-01-05
  • 打赏
  • 举报
回复
如果用数据库那样做的话比较慢,如果你不在乎的话呵呵:
我前段时间才做了个你可以%5算跨星期的星期数
DayOfWeek来得到星期几,
DayOfYear可以得到年的第几天,
用一数组把当年的最后一天DayOfYear个数
1表示工作日0表示假日
Coder李海波 2004-01-05
  • 打赏
  • 举报
回复
存储Date1和Date2的时候最好能存入星期几,元旦,五一,十一比较好处理,但是春节比较麻烦
tianweima 2004-01-05
  • 打赏
  • 举报
回复
周日和周未可用DayOfWeek来判断,其它节假日只能做表了.
crodling 2004-01-05
  • 打赏
  • 举报
回复
春节(7天)、五一(7天)、十一(7天)
都只有三天的假,那来的七天啊
我的想法是对7整除*2,根据头尾时间判断处理,判断这个时间段内是否有节假日存在,如有再减去对应的三天

gshope 2004-01-05
  • 打赏
  • 举报
回复
建议这么做:建一个假日表,把所有休息日包括周六日都写进去(因为有的周六日因为倒休可能不休息),每次判断工作日的时候,都检查一下日期是否在这个表中。
当然,这么做效率会受到影响,但是因为你的要求比较高,也是没其他办法了!

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧