获取指定日期的常用前后节点(月初月末周一周末等等)
原文:获取指定日期的常用前后节点(月初月末周一周末等等)

注:周节点方面是根据中国习惯,视周一为起,周日为末。

/*---------------------------------
函数:获取某日期的特定起止节点v0.01
Author:AhDung
Update:201305151755
---------------------------------*/
ALTER FUNCTION dbo.FGetSpecialDate_ahdung(@date DATE, @SpcDate VARCHAR(20))
RETURNS DATE AS
BEGIN
IF @SpcDate IN ('YearBeg','YB','NC','年初') RETURN DATENAME(YEAR,@date)+'-01-01'
ELSE IF @SpcDate IN ('YearEnd','YE','NW','年尾','年末') RETURN DATENAME(YEAR,@date)+'-12-31'
ELSE IF @SpcDate IN ('QuarterBeg','QtBeg','QB','JC','季初') RETURN DATENAME(YEAR,@date)+CASE WHEN MONTH(@date)<=3 THEN '-01' WHEN MONTH(@date)<=6 THEN '-04' WHEN MONTH(@date)<=9 THEN '-07' ELSE '-10' END +'-01'
ELSE IF @SpcDate IN ('QuarterEnd','QtEnd','QE','JW','季尾','季末') RETURN DATENAME(YEAR,@date)+CASE WHEN MONTH(@date)<=3 THEN '-03-31' WHEN MONTH(@date)<=6 THEN '-06-30' WHEN MONTH(@date)<=9 THEN '-09-30' ELSE '-12-31' END
ELSE IF @SpcDate IN ('MonBeg','MB','YC','月初') RETURN CONVERT(CHAR(7),@date,120)+'-01'
ELSE IF @SpcDate IN ('MonEnd','ME','YW','月尾','月末') RETURN DATEADD(DAY,-1,CONVERT(CHAR(7),DATEADD(MONTH,1,@date),120)+'-01')
ELSE IF @SpcDate IN ('WeekBeg','WB','ZY','周一') RETURN DATEADD(DAY,2-CASE DATEPART(dw,@date) WHEN 1 THEN 8 ELSE DATEPART(dw,@date) END,@date)
ELSE IF @SpcDate IN ('WeekEnd','WE','ZR','ZM','周日','周末') RETURN DATEADD(DAY,8-CASE DATEPART(dw,@date) WHEN 1 THEN 8 ELSE DATEPART(dw,@date) END,@date)
RETURN @date
END

posted on 2014-11-13 20:29 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/4095806.html

获取指定日期的常用前后节点(月初月末周一周末等等)相关推荐

  1. php 获取指定日期的周几,周始,周末

    /** 获取日期对应的星期* @param $date 输入的日期数据,格式如:2018-6-22*/ public function get_week($date) {//强制转换日期格式$date ...

  2. Java获取指定日期的月初和月末日子

    实现代码: /*** 获取指定日期的月初和月末日子** @param day 日期20200202*/ public static Date[] getMonthStartEnd(Date day) ...

  3. 获取指定日期之间的各个周和月

    2019独角兽企业重金招聘Python工程师标准>>> 日志格式化类 Date.class.php <?php class Datefmt{function __constru ...

  4. php获取本月工作日,ThinkPHP中获取指定日期后工作日的具体日期方法

    ThinkPHP中获取指定日期后工作日的具体日期方法 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  ThinkPHP中获取指定日期后工作日的具体日期方法.txt ...

  5. 获取指定日期所属年份的第一天日期或最后一天日期

    写了2个自定义函数,获取指定日期所在年份的第一天日期或最后一天的日期: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============ ...

  6. php获取指定日期的万年历,分享3个php获取日历的函数

    提供一个日期,获取这个日期的星期对应日历列表,键为星期标示 $month_date = '2015-09-25'; $start_time = strtotime($month_date); $sta ...

  7. php获得每个月第一天的时间,PHP获取指定日期所在月的第一天和最后一天几个例子...

    标题有点说不清楚了就是否PHP获取指定日期所在月的第一天和最后一天几个段程序了了,下文给各位总结一下吧. 示例代码  代码如下 复制代码 //获取指定日期所在月的第一天和最后一天 function G ...

  8. php获取工作日时间,ThinkPHP中获取指定日期后工作日的具体日期方法

    思路: 1.获取到查询年份内所有工作日数据数组 2.获取到查询开始日期在工作日的索引 3.计算需查询日期索引 4.获得查询日期 /*创建日期类型记录表格*/ CREATE TABLE `tb_work ...

  9. JS 获取指定日期的前几天或者几天

    例如获取2021-06-21后1天日期 /*** JavaScript 获取指定日期的前几天或者后几天的日期* @param date {string} 日期 如:2021-06-21* @param ...

最新文章

  1. 3加2大专计算机专业考什么,3加2学校有什么专业 初中生怎么报考3+2
  2. 理解 async/await 的执行
  3. 设计师学习HTML/CSS之路-13
  4. 汉语是什么_为什么出国留学以及工作要考国际汉语教师资格证?
  5. html表格分页打印样式,vue部分打印(多页自动分页、打印样式自定义、多页打印表格页面顶部带表头)...
  6. 计算机网络网络层之层次路由
  7. TeamViewer会议功能有什么用?
  8. 引用服务器js文件写法,Vue 公共js文件如何放在服务器上引用
  9. php 什么是 cookie? 会话 cookie 与持久性 cookie 之间 有何区别?
  10. 视频监控安防平台-GB35114和GB28181的注册信令
  11. Spark安装与配置(单机版)(保姆级教程)
  12. excel表格如何不需鼠标往下拖动而自动往下填
  13. java是要在安装的盆运行吗,Java程序员(单身30年):告诫各位,千万不要和女程序员做同事!...
  14. kafka sasl java_Kafka 集群配置SASL+ACL
  15. 物理学的困惑: 弦理论崛起了, 科学却衰落了
  16. 扫码跳转微信网页 网络出错 轻触屏幕重新加载-1001
  17. Mysql存储引擎Innodb的读写锁、行级锁
  18. 高德地图 地理编码报result参数报 USERKEY_PLAT_NOMATCH INVALID_USER_SCODE
  19. Android AES 加密、解密
  20. 计算机管理员永久访问权限,win7系统账户怎样永久获取管理员权限?

热门文章

  1. 解决Windows Server2008 R2中IE开网页时弹出阻止框
  2. Docker搭建自己的GitLab
  3. 工程师、产品经理、数据工程师是如何一起工作的?
  4. Avg_row_length是怎么计算的?
  5. SDWebImage原理(面试)
  6. OC-成员变量的作用域
  7. android 开发不能创建目录
  8. python 处理python编码的基本过程
  9. 专访:混合云的发展趋势
  10. Windows 7下实现×××连接自动创建