mssql sqlserver 獲取指定日期為本月第幾個工作日
下文講述工作中,需要獲取指定日期在當月的工作日
--------------------------------------------------
下文講述常規的指定工作日所在月的天數分析,
實現思路:
1 生成一個國家法定假日表(A),非星期六,星期天
2 生成一個國家法定補辦表(B),涉及星期六星期天調班
3 生成指定月份的日期流水錶(C)
4 獲取指定日期的工作日資訊,如下所示:
--例: 獲取 2018-4-10 為2018年4月的第幾個工作日
declare @d datetime
set @d ='2018-4-10' --可通過下面的方法計算出 為本月第6個工作日
---1:獲取4月指定日期的所在月工作日數
create table A(A datetime)
create table B(B datetime)
----4.5.4.6 4.7 4.30為法定假日
insert into A (A)values('2018-4-5'),
('2018-4-6'),('2018-4-7'),('2018-4-30')
----補班日 4月8 4月28 4月30 日
insert into B (B)values('2018-4-8'),
('2018-4-28'),('2018-4-30')
---生成指定月份(4月)所有天數流水
set datefirst 1 --設定星期一為第一個工作日
select * from
(
select row_number() over(order by d asc ) as [本月第*個工作日],d,datepart(w,d) as [weekInfo] from (
select dateadd(day,number,'2018-4-1') as d from master..spt_values
where type='p'
and number >=0
and dateadd(day,number,'2018-4-1') between '2018-4-1' and dateadd(day,-1,'2018-5-1')
) as a
where a.d not in (select A from A)
and (a.d in (select b from B )
or datepart(w,a.d) not in (6,7)
)
) as extend
where d [email protected]
go
drop table A
drop table B
相關推薦
mssql sqlserver 獲取指定日期為本月第幾個工作日
摘要: 下文講述工作中,需要獲取指定日期在當月的工作日--------------------------------------------------下文講述常規的指定工作日所在月的天數分析,實現思路:1 生成一個國家法定假日表(A),非星期六,星期天2 生成一個
mssql sqlserver獲取指定月份當月天數總和
CREATE FUNCTION dbo.fn_getMonthDayAll ---自定義函式名稱 ( @yyyyMM VARCHAR(20) ---指定輸入引數格式 4位年份2位月份 ) RETURNS INT ---函式返回值型別 AS BEGIN DECLARE @dayAll INT
js實現獲取當前時間是本月第幾周的方法
< script language = "javascript" > var getMonthWeek = function(a, b, c) { /* a = d = 當前日期 b = 6 - w = 當前周的還有幾天過完(不算今天) a + b
Android listview和gridview獲取當前xy座標是第幾個item
之前我是通過算item的大小和xy比較來計算出是第幾個item的,但是比較麻煩 後來通過查閱文件和資料,發現有一個API方法是 pointToPosition(int x,int y); 只要把getX和getY的值傳入即可 注意!!不要用getRawX和getRa
根據指定日期獲取月份、根據當前第幾周獲取該自然周的起始日期
// 獲取指定日期內月份的起始日期 protected function to_month($begin_at , $end_at) { $month1 = explode("-", $begin_at); $month2 = explode(
PHP獲取指定日期
phpecho date(‘Y-m-d h:i:s‘,time()-30*24*3600).‘<br />‘; //通過計算的方式獲得前30天的時間戳echo date(‘Y-m-d h:i:s‘,time()-7*24*3600).‘<br />‘; //通過計算的方式
ThinkPHP中如何獲取指定日期後工作日的具體日期
HERE creat ans 判斷 封裝 vat his 類型 con 思路: 1、獲取到查詢年份內所有工作日數據數組2、獲取到查詢開始日期在工作日的索引3、計算需查詢日期索引4、獲得查詢日期 /*創建日期類型記錄表格*/ CREATE TABLE `tb_workda
獲取指定日期所在一週的時間範圍(週一00:00:00---週日 23:59:59)
/**一週週期相關*/ public class MyWeekDate { /**開始時間*/ public long mLong_begin; /**開始日期*/ public String mStr_begin; /**結束時間*/ public long mLong_end; /**結束日
js 獲取指定日期上一天及下一天,上一月及下一月
1、獲取指定日期上一天、下一天 function getNextDate(date,day) { var dd = new Date(date); dd.setDate(dd.getDate() + day); var y = dd.getFullYear(); var m
獲取指定日期的第二天的凌晨時間
package DateUtil; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;
react使用原生js獲取點選的ul下的第幾個li 並設定className為active
import React from 'react' import './index.less'; import { Link } from "react-router-dom"; class Index extends React.Component { state
Python3實現獲取指定日期範圍內的月份列表
import datetime from dateutil import rrule class TimeHelper(): def getMonthRangList(self, start_month, end_month): """ 從開始日期到結束
php獲取指定日期,前一天、前一週、前一個月、前一年,後一天,後一週,前一個月,前一年
dump( date( 'Y-m-d', strtotime('2018-10-1 +1 day') ) ); dump( date( 'Y-m-d', strtotime('2018-10-1 +1 week') ) ); dump( date( 'Y-m-d', strtotime('2018-10-
JS獲取指定日期前後N天的日期、前N個月日期、後N個月日期
今天做專案遇到了,獲取相對於當前日期前30天的時間,結合網上資料,做了一份整理。 一.獲取指定日期前或者後指定間隔時間程式碼 function getNowFormatDate(sdate,interval,caret) { var patt1 = /^\
【python】獲取指定日期的後(前)一(n)天
開始在網上找到了,獲取今天,明天和前天日期的程式碼。 >>> import datetime #匯入日期時間模組 >>> today = datetime.date.today() #獲得今天的日期 >>> print
JS獲取指定日期的前一天,一週,一個月
//獲取當前日期方法 function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var year = date.getFullYear(); var month = date.getMonth() + 1; var
java獲取指定日期的前一天和後一天
@Test public void getDay() { String day = "2018-03-19"; Calendar c = Calendar.get
php中,獲取指定日期的當月天數
在工作中,經常會遇到獲取某一個月份的天數問題,之前我是這麼解決的。 //這裡以2015年11月為例 $inputs['month'] = '201511';//傳遞過來的引數 $tmp_month
js日期計算及快速獲取周、月、季度起止日,獲取指定日期週數以及星期幾的小例子
轉載地址:https://www.cnblogs.com/laneyfu/p/5028916.html // 通過週數和星期計算日期 //2017年1月1日是星期日,算第一週,1月2日週一算是第二週 function dateFromWeek(year,
[學習筆記]JS獲取指定日期前一天
var mydate=new Date(Date.parse(stockdate.replace(/-/g,"/")));var yesterday_milliseconds=mydate.getTime()-1000*60*60*24; var yesterday=new