zoukankan      html  css  js  c++  java
  • 统计指定时间段内的周未(非周未)天数

    declare @start    datetime,
    @end datetime,
    @zoomOutStart datetime,--放大指数
    @zoomOutEnd datetime,
    @zoomOutStartSpan int,
    @zoomOutEndSpan int,--
    @zoomOutTimeSpan int,--放大的时间距离
    @zoomOutWeekCount int,--时间段内的周未天数
    @workTime int--时间段内的工作天数

    SET @start='2011-2-5'--起始时间
    SET @end=DATEADD(MS,-2, DATEADD(DD,30,@start))--结束时间

    SET @zoomOutStartSpan=DATEPART(WEEKDAY,@start)-1
    SET @zoomOutEndSpan=7-DATEPART(WEEKDAY,@end)
    SET @zoomOutStart=DATEADD(DD,-1*@zoomOutStartSpan,@start)
    SET @zoomOutEnd=DATEADD(DD,@zoomOutEndSpan,@end)
    SET @zoomOutTimeSpan=DATEDIFF(DD,@zoomOutStart,@zoomOutEnd)+1
    SET @zoomOutWeekCount=@zoomOutTimeSpan/7*2--时间放大后的周未天数
    SET @workTime=@zoomOutTimeSpan/7*5--工作时间
    IF @zoomOutStartSpan>0
    BEGIN
    set @zoomOutWeekCount=@zoomOutWeekCount-1
    set @workTime=@workTime-@zoomOutStartSpan+1
    END
    IF @zoomOutEndSpan >0
    BEGIN
    set @zoomOutWeekCount=@zoomOutWeekCount-1
    set @workTime=@workTime-@zoomOutEndSpan+1
    END
    IF @zoomOutWeekCount<0
    set @zoomOutWeekCount=0
    SELECT @start,@end,
    @zoomOutStart,@zoomOutEnd,
    @zoomOutStartSpan,@zoomOutEndSpan,
    @zoomOutTimeSpan,
    @zoomOutWeekCount,@workTime

  • 相关阅读:
    background-size ie8及以下不兼容的解决方案
    前端
    JavaScript ES(6-11)
    前端工程化
    前端安全漏洞与防范
    Vue源码思维导图
    项目流程总结
    typescript版数据结构与算法库
    tsconfig.json各项配置注解
    Sql server动态加载存储过程--分页
  • 原文地址:https://www.cnblogs.com/magic_evan/p/2185202.html
Copyright © 2011-2022 走看看