如何确定日期是否为Python中的美国银行假期,最简单的方法是什么?似乎有各种日历和Web服务,列出各国的假期,但我还没有找到具体到银行的任何美国检测美国假期
检测美国假期
回答
一些一般性的评论:
我不认为@ AST4真正的意思是“第N周的第n天nth月份算法“。 “第n个月的第n个星期”的概念是精神捕捉(如“ISO日历”)。我从来没有见过以“第十周”为定义的假期。马丁·路德·金纪念日是“在本月第N个工作日”型假期的例子:
MONDAY, ...., SATURDAY = range(7)
JAN, ....., DEC = range(1, 12)
Holiday("Martin L King's Birthday", type='floating',
ordinal=3, weekday=MON, month=JAN)
Holiday("Memorial Day", type='floating',
ordinal=-1, weekday=MON, month=MAY)
的美国没有复活节相关的假期。定义并不难:
Holiday("Good Friday", type='moveable',
base='gregorian_easter', delta_days=-2)
Holiday("Easter Monday", etc, delta_days=1)
# Some states in Australia used to have Easter Tuesday (no kidding)
Holiday("Easter Tuesday", etc, delta_days=2)
“基地”的想法可以用来应付农历新年,其实任何节日,是一个需要特殊的程序来计算它为基准日期的偏移量。
所谓的“静态”假期是不固定的,当“固定”的日期是周六或周日,甚至可能消失(没办法每天下班):
# Americans will get a day off on Friday 31 Dec 2010
# because 1 Jan 2011 is a Saturday.
Holiday("New Year's Day", type='fixed',
day=1, month=JAN, sat_adj=-1, sun_adj=????)
# Australia observes ANZAC Day on the day, with no day off
# if the fixed date falls on a weekend.
Holiday("ANZAC Day", type='fixed', day=25, month=APR, sat_adj=0, sun_adj=0)
# Two consecutive "fixed" holidays is OK; three would need re-thinking.
# Australia again:
Holiday("Christmas Day", type='fixed', day=25, month=DEC, sat_adj=2, sun_adj=1)
Holiday("Boxing Day", type='fixed', day=26, month=DEC, sat_adj=2, sun_adj=2)
我敢肯定有是指定不符合上述规则的假期的方式......任何此类消息都是受欢迎的。
什么你正在使用这个假期课程吗? – 2011-06-26 19:06:36
@Gringo Suave:这只是一个表示假日可以被定义的大部分奇怪方式的符号。 – 2011-06-26 21:38:03
这些适用于美国大使馆,但对于任何特定的银行可能会有所不同:例如,我的银行在哥伦布日开放,这在加利福尼亚州并不是一个非常受欢迎的节日。 – 2010-03-06 23:32:59
@Alex Martelli:您的银行可能会开放,但美联储已关闭,因此ACH网络不会在哥伦布日进行迭代。它像星期六一样对待。 – 2011-10-04 20:43:10
我实际上最近我们在一个很像这个问题的问题上工作。静态假期生成相当微不足道(例如新年前夕 - 12月31日,(循环到年份))。有明确的算法来生成浮动假期。基本上你有一个开始日期(例如1900年1月1日)并从那里开始工作。我最终实施的是第n个月算法的第n个星期的第n天(例如MLK日= 1月的第3个星期一)。复活节与做的有点不同,但是对于已经存在的复活节算法也有明确的算法(在1月份之后,星期五是微不足道的)。
有一个相当不错的书里关于这一点,你可能想看看:Calendrical Calculations
的Pandas包提供了一个方便的解决方案是:
from pandas.tseries.holiday import USFederalHolidayCalendar
cal = USFederalHolidayCalendar()
holidays = cal.holidays(start='2014-01-01', end='2014-12-31').to_pydatetime()
if datetime.datetime(2014,01,01) in holidays:
print True
- 1. 测试英国假期不工作
- 2. 公共假期检查员(英国)
- 3. 如何通过Oracle查询获得美国假期?
- 4. 两个日期不同,美国节假日除外
- 5. Matlab中的德国假期
- 6. 国家假期列表
- 7. 连续(美国)州检查
- 8. 最好的免费图书馆或数据库来确定一个日期是美国还是国际假期?
- 9. DateTime.TryParse()发行日期德国转换为美国日期
- 10. 比较美国的日期和英国的日期
- 11. SQL显示美国成为美国
- 12. G20国家的假期文件
- 13. DateTime.Parse美国日期格式C#
- 14. VBA:格式日期为美国标准
- 15. VBA日期保留为美国版
- 16. 美国RIDE REQUEST
- 17. 美国国债时钟
- 18. 转换英国日期格式为美国
- 19. Spotfire美国/英国日期时间格式
- 20. 测试美国SIM和手机号码来自英国
- 21. jQuery假碰撞检测
- 22. Python日期时间在美国和英国日期格式之间切换
- 23. Google API国家检测PHP
- 24. 日当周美国天数(星期一= 1,星期二= 2)
- 25. iOS的苹果地图可用性美国以外美国
- 26. 假期或假期日历
- 27. Rails 3美国国旗宝石?
- 28. 美国国家仪器USB 6008和Linux
- 29. 美国国旗排序优化
- 30. 美国邮政国家列表API
@krosenvold:这就是问题所在,这些节假日通常延长周末,人们称这些假期。长达一周以上的假期属于休假类别。 – mjv 2010-03-06 22:05:35
您需要提前多久才能了解它们? – 2010-03-06 22:09:10
@krosenvold:这是一个该死的耻辱,但我不能否认它。 – 2010-03-06 22:17:03