- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有一个用 C# 编写的应用程序,无法在公共(public)假期或周末运行。我环顾四周,没有找到任何地方(官方)提供 future 50 年的所有公共(public)假期。
如果我能得到这些,我会简单地将它们批量插入到我的 sql server Holidays 表中并使用它。但是,我无法在任何地方找到这些数据。
有谁知道 Sql server 是否支持公共(public)假期或某种算法来解决这些问题?或者有没有人有官方的地方我可以从中批量插入。
最佳答案
我只是通过互联网收集信息,然后用这种简单的方法来计算美国银行假期。
DECLARE @Year char(4)
, @Date datetime
, @Holiday datetime
SET @Year = 2010
---- New Years Day
SET @Date=CONVERT( datetime, CONVERT(varchar, YEAR( @Year ) )+'-01-01' )
IF DATENAME( dw, @Date ) = 'Saturday'
SET @Date=@Date-1
ELSE IF DATENAME( dw, @Date ) = 'Sunday'
SET @Date=@Date+1
SELECT @Date [New Years Day], DATENAME( dw, @Date ) [DayOfWeek]
---- Martin L King's Birthday ( 3rd Monday in January )
SET @Date = CONVERT( datetime, CONVERT(varchar, YEAR( @Year ) )+'-01-01' )
SET @Holiday = DATEADD( wk, DATEDIFF( wk, 0, dateadd( dd, 18-datepart( day, @Date ), @Date ) ), 0 ) -- 3rd Monday of the Month
SELECT @Holiday [Martin L King's Birthday], DATENAME( dw, @Holiday ) [DayOfWeek]
---- President’s Day ( 3rd Monday in February )
SET @Date = CONVERT( datetime, CONVERT(varchar, YEAR( @Year ) )+'-02-01' )
SET @Holiday = DATEADD( wk, DATEDIFF( wk, 0, dateadd( dd, 18-datepart( day, @Date ), @Date ) ), 0 ) -- 3rd Monday of the Month
SELECT @Holiday [President’s Day], DATENAME( dw, @Holiday ) [DayOfWeek]
---- Memorial Day ( Last Monday in May )
SET @Date = CONVERT( datetime, CONVERT(varchar, YEAR( @Year ) )+'-05-01' )
SET @Holiday = DATEADD( wk, DATEDIFF( wk, 0, dateadd( dd, 30-datepart( day, @Date ), @Date ) ), 0 ) -- 5th Monday of the Month
SELECT @Holiday [Memorial Day], DATENAME( dw, @Holiday ) [DayOfWeek]
---- Independence Day ( July 4 )
SET @Date=CONVERT( datetime, CONVERT(varchar, YEAR( @Year ) )+'-07-04' )
IF DATENAME( dw, @Date ) = 'Saturday'
SET @Date=@Date-1
ELSE IF DATENAME( dw, @Date ) = 'Sunday'
SET @Date=@Date+1
SELECT @Date [Independence Day], DATENAME( dw, @Date ) [DayOfWeek]
---- Labor Day ( 1st Monday in September )
SET @Date = CONVERT( datetime, CONVERT(varchar, YEAR( @Year ) )+'-09-01' )
SET @Holiday = DATEADD( wk, DATEDIFF( wk, 0, dateadd( dd, 6-datepart( day, @Date ), @Date ) ), 0 ) -- 1st Monday of the Month
SELECT @Holiday [Labor Day], DATENAME( dw, @Holiday ) [DayOfWeek]
---- Columbus Day ( 2nd Monday in October )
SET @Date = CONVERT( datetime, CONVERT(varchar, YEAR( @Year ) )+'-10-01' )
SET @Holiday = DATEADD( wk, DATEDIFF( wk, 0, dateadd( dd, 12-datepart( day, @Date ), @Date ) ), 0 ) -- 2nd Monday of the Month
SELECT @Holiday [Columbus Day], DATENAME( dw, @Holiday ) [DayOfWeek]
---- Veteran’s Day ( November 11 )
SET @Date=CONVERT( datetime, CONVERT(varchar, YEAR( @Year ) )+'-11-11' )
IF DATENAME( dw, @Date ) = 'Saturday'
SET @Date=@Date-1
ELSE IF DATENAME( dw, @Date ) = 'Sunday'
SET @Date=@Date+1
SELECT @Date [Veteran’s Day], DATENAME( dw, @Date ) [DayOfWeek]
---- Thanksgiving Day ( 4th Thursday in November )
SET @Date = CONVERT( datetime, CONVERT(varchar, YEAR( @Year ) )+'-11-04' )
SET @Holiday = DATEADD( wk, DATEDIFF( wk, 0, dateadd( dd, 22-datepart( day, @Date ), @Date ) ), 0 )+3 -- 4th Thursday of the Month
SELECT @Holiday [Thanksgiving Day], DATENAME( dw, @Holiday ) [DayOfWeek]
---- Christmas Day ( December 25 )
SET @Date=CONVERT( datetime, CONVERT(varchar, YEAR( @Year ) )+'-12-25' )
IF DATENAME( dw, @Date ) = 'Saturday'
SET @Date=@Date-1
ELSE IF DATENAME( dw, @Date ) = 'Sunday'
SET @Date=@Date+1
SELECT @Date [Christmas Day], DATENAME( dw, @Date ) [DayOfWeek]
---- New Years Eve Day
SET @Date=CONVERT( datetime, CONVERT(varchar, YEAR( @Year ) )+'-12-31' )
IF DATENAME( dw, @Date ) = 'Saturday'
SET @Date=@Date-1
ELSE IF DATENAME( dw, @Date ) = 'Sunday'
SET @Date=@Date+1
SELECT @Date [New Years Day], DATENAME( dw, @Date ) [DayOfWeek]
关于c# - 如何确定 Sql server 中的公共(public)假期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/457176/
我使用 R 语言并处理来自不同国家的时间序列每日股票指数。为了在不同指标之间进行比较(例如相关性、因果关系等),我需要所有系列都具有相同的行数,但是由于不同国家/地区的不同假期,每个系列中的行数会发生
在我的java应用程序( Spring 启动)中,我试图检查马来西亚的特定日期是否是公共(public)假期,挑战是每个州除了国家公共(public)假期之外还有自己的地区假期有待考虑。 所以我的问题
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 9 年前。 Improve t
到目前为止,我已经能够使用以下引用资料在英国和美国的 PHP 国定假日中进行计算。 http://php.net/manual/en/ref.calendar.php http://damianofe
我想知道是否有可以执行以下操作的 jar 文件: DateMidnight dateInQuestion = new DateMidnight(12,12,2000); DateChecker.isN
我正在寻找如何在没有周末和公共(public)假期的两个日期之间选择天数的解决方案。 到目前为止,我有这个: SELECT evnt.event_id, evnt.date_from,
搜索了一下,但找不到这个问题的答案。本质上, timeDate 包有一些尚未公开的内部代码,我想知道如何获取它: > USDecorationMemorialDay(2013) GMT [1] [20
我正在尝试将日期设置为从今天开始算起的 7 个工作日(不包括周末和英国公共(public)假期)。 我首先将默认日期设置为今天的日期 (todaysDate) + 7 天 (todayPlusSeve
我正在制作一个假期预订应用程序,显然你不需要预订已经给你的假期,所以我需要知道如何禁用圣诞节,例如每年从日期选择器中禁用我每年都必须更改代码。 到目前为止,这是我的 jQuery UI 日期选择器代码
我有一个用 C# 编写的应用程序,无法在公共(public)假期或周末运行。我环顾四周,没有找到任何地方(官方)提供 future 50 年的所有公共(public)假期。 如果我能得到这些,我会简单
使用 Node https://github.com/google/google-api-nodejs-client图书馆 我正在尝试访问公共(public)假期。我的身份验证工作正常并且可以访问 A
我正在使用 JQuery UI Datepicker Disbale Next Day After 12pm 中的代码禁用周末、公共(public)假期和第二天(如果在上午 10 点之后选择),但我不
数据以下列格式放入 MYSQL 数据库中: | 2010-03-18 | 1.580 | 1.590 | 1.560 | 1.580 | 164500 | 1.580 || 2010-03-1
我是一名优秀的程序员,十分优秀!