如何確定日期是否爲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. Excel假設日期爲美國格式
- 2. 測試英國假期不工作
- 3. 公共假期檢查員(英國)
- 4. 大熊貓假期日曆規則美國選舉日
- 5. 兩個日期不同,美國節假日除外
- 6. 如何通過Oracle查詢獲得美國假期?
- 7. OrderBy Linq與美國日期
- 8. 國家假期列表
- 9. Matlab中的德國假期
- 10. 連續(美國)州檢查
- 11. 美國和非美國日期時間格式
- 12. Java檢查具體日期是否爲公共假期國家
- 13. 最好的免費圖書館或數據庫來確定一個日期是美國還是國際假期?
- 14. 將英國日期轉換爲美國日期的靈活性
- 15. 比較美國的日期和英國的日期
- 16. DateTime.TryParse()發行日期德國轉換爲美國日期
- 17. SQL顯示美國成爲美國
- 18. 虛假檢測Opencv
- 19. 檢測用戶來自歐洲或美國
- 20. 美國以外的Android付費測試
- 21. VBA日期保留爲美國版
- 22. C#中的美國日期格式#
- 23. DateTime.Parse美國日期格式C#
- 24. VBA:格式日期爲美國標準
- 25. G20國家的假期文件
- 26. PHP - 檢測國家
- 27. 美國RIDE REQUEST
- 28. 獲得美國國家
- 29. 美國國債時鐘
- 30. 外線美國和英國
@krosenvold:這就是問題所在,這些節假日通常延長週末,人們稱這些假期。長達一週以上的假期屬於休假類別。 – mjv 2010-03-06 22:05:35
您需要提前多久才能瞭解它們? – 2010-03-06 22:09:10
@krosenvold:這是一個該死的恥辱,但我不能否認它。 – 2010-03-06 22:17:03