2008-09-12 100 views
15

是否有公共/政府的網絡服務,我可以打電話來了解給定年份的全國假期? (對於美國和/或世界上的任何國家。)National holiday web service

編輯:有沒有人有一套計算美國節假日的公式? (如果有選擇,C#將是我選擇的語言。)

回答

7

有一個網絡服務http://www.holidaywebservice.com將提供美國,愛爾蘭共和國,英格蘭和蘇格蘭的假期日期。他們還出售DLL和源代碼。

至於算法的細節,你可以做遜於檢查出的優秀Calendrical Calculations書(第三版),這是曆法的一切事務着實令人着迷的閱讀,包括樣品Lisp代碼爲他們的日曆算法。

+0

很酷的服務和參考,但我的問題是試圖找到哪些假期是官方美國政府假期的最新來源(因爲在那些日子裏聯邦政府沒有工作)。 – CMPalmer 2009-02-25 20:30:52

+0

有趣的網站,但它是如此可怕的設計(我的眼睛放血),它沒有像isHoliday(日期)的東西。 – Cerin 2010-03-06 21:52:14

+0

你真的想打電話給遠程服務來確定一個特定的日期是否是假期嗎?這聽起來像是經常進行的那種方法調用。定期進行遠程調用以獲取特定年份的假期列表,並在本地緩存該信息,並將其用於本地實現isHoliday(日期)的過程中,性能會更好。順便提一下,如果你的眼睛在流血,那麼從SO上張貼休息並尋求醫療援助可能是謹慎的。 – 2010-03-06 22:00:15

2

沒有人免費贈送(世界上任何國家?獲得真實的)。最好的來源是科普克拉克(我是無黨派的)。它們爲所有國家提供按金融市場,貨幣等細分的所有假期。

1

可能需要一些解析,但它不是100%完整的,但可以使用wikipedia

1

爲了找出美國假期的方法/程序集,基本上只是找出所有主要假期和他們使用的「公式」。

對於那些永不改變的人來說,像聖誕節一樣,這很容易 - 12月25日。

對於那些有所變化的人來說,通常有一個公式 - 就像2月份的第三個星期一是總統日。你可以讓方法找出特定年份。

這對於沒有任何特定模式的節假日不起作用(即一些委員會決定每年的日期是什麼),但對於所有主要的那些都有容易辨別的公式。

這實際上是測試驅動設計的最佳人選。你會知道某個特定年份的所有主要假期日期,所以你應該能夠將這一年填入方法並獲得正確的答案。

+1

只是要小心......美國聯邦聖誕節假期並非總是在12月25日。如果這個日期是週末,那麼假期就是週五或週一。同樣的退伍軍人節和獨立日。 – mwolfe02 2012-11-29 17:36:46

5

有在線日曆,你可以訂閱。例如,谷歌提供美國假期:

ICAL HTML

2

有噸真的應該由政府的網絡服務提供類似的信息。如果美國政府可以通過網絡服務提供這樣的信息,那麼從長遠來看,這肯定會節省大量金錢和錯誤。哎呀,即使是可下載的,可解析的格式,也是朝着正確方向邁出的一大步。

我跑過這個問題,同時尋找一種方法來確保應用程序跳過所有美國聯邦法定節假日的工作日計算。我找到的最好的。州長來源:

Operating Status Schedules from OPM

這樣做,我們到2020年需要的數據,但我們必須把它輸入到我們自己的表。

1

我正在尋找類似的基於PL/SQL的東西。我找到了jollyday(sourceforge)。這是Java也許你可以使用它從C#中的ikvm。遺憾的是我沒能Java API的加載到我的Oracle RDBMS ...所以...如果您在純C或PL/SQL解決方案來了,請讓我知道:-)

乾杯 克里斯

10

您可以嘗試http://kayaposoft.com/enrico/。 Enrico Service是一項免費服務,爲包括美國在內的多個國家提供公共假期。美國或德國等國家的公共假期分別爲每個州提供。您可以使用Web服務或JSON從Enrico獲取公共節假日。