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

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

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

/*---------------------------------
函数:获取某日期的特定起止节点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

 

时间: 2024-10-13 20:37:07

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

如何使用PHP获取指定日期所在月的开始日期与结束日期

以下是对PHP获取指定日期所在月的开始日期与结束日期的实现代码进行了详细的分析介绍,需要的朋友可以过来参考下   复制代码 代码如下:    /**      * 获取指定日期所在月的开始日期与结束日期      * @param string $date      * @param boolean 为true返回开始日期,否则返回结束日期      * @return array      * @access private      */     private function getMo

Java 获取指定日期的实现方法总结

以下是对Java中获取指定日期的实现方法进行了归纳总结,需要的朋友可以参考下   复制代码 代码如下: 格式化日期 String-->Date  或者 Data-->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");   Date  date = sdf.parse("2009-11-04");//String-->Date   String  sdate  = sdf

PHP获取指定日期所在月的第一天和最后一天几个例子

  示例代码 代码如下   //获取指定日期所在月的第一天和最后一天 function GetTheMonth($date){ $firstday = date("Y-m-01",strtotime($date)); $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); } 示例代码 //PHP获得指定日

php获取指定日期之间的各个周和月的起止时间_php实例

根据指定的前后两个日期,计算这两个日期之间各个周的起始时间和结束时间,以及各个月的起始时间和结束时间 日志格式化类 Date.class.php 复制代码 代码如下: <?php class Datefmt{    function __construct() {}   /**    * 根据指定日期获取所在周的起始时间和结束时间    */   public function get_weekinfo_by_date($date) {     $idx = strftime("%u&qu

mssql中获取指定日期所在月份的第一天的代码_MsSql

获取指定日期月份的第一天,你可以使用DATEADD函数,减去指定日期的月份过去了的天数,即可. 复制代码 代码如下: CREATE FUNCTION [dbo].[udf_FirstDayOfMonth] ( @Date DATE ) RETURNS DATETIME AS BEGIN RETURN CAST(DATEADD(day,1 - DAY(@Date), @Date) AS DATETIME) END 或者,用DATEDIFF计算指定日期与日期开始之时,相隔几个月,然后再DATEADD

Java 获取指定日期的实现方法总结_java

格式化日期 String-->Date 或者 Data-->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse("2009-11-04");//String-->Date String sdate = sdf.format(date );// Data-->String =========================

java日期操作工具类(获取指定日期、日期转换、相隔天数)_java

本文实例为大家分享了java日期操作工具类,获取指定日期前一天.后一天:日期转换:两个日期之间相隔天数等工具类,供大家参考,具体内容如下 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; public class

js获取指定日期周数以及星期几的小例子_javascript技巧

JS获取日期时遇到如下需求,根据某年某周获取一周的日期.如开始日期规定为星期四到下一周的星期五为一周. 代码如下: function getNowFormatDate(theDate) { var day = theDate; var Year = 0; var Month = 0; var Day = 0; var CurrentDate = ""; // 初始化时间 Year= day.getFullYear();// ie火狐下都可以 Month= day.getMonth()+

objective c-objective-C获取指定日期

问题描述 objective-C获取指定日期 我想要获取今天的45天之后的日期. NSString *dateStr = @"Tue, 16 April 2013 13:00:00 +0000"; NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss Z"]; NSDate *date = [